From 320ccfdab19f4e39ffed031a2f29198cc4909478 Mon Sep 17 00:00:00 2001
From: dnflekals <dnflekals@DESKTOP-MFES181.localdomain>
Date: Mon, 8 Jun 2020 19:19:24 +0900
Subject: [PATCH] revise ringbuffer

---
 lock  | Bin 50208 -> 50168 bytes
 pa3.c |   6 ++----
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/lock b/lock
index bc9a678b8e3d2de35a89d7624d4a5d68685c1717..a8270e9c6e6d9e2f21521df53f66143438cf6646 100755
GIT binary patch
delta 8238
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
R=QIY7EHE(GO?KQX4*>8oNm2j+

delta 8064
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

diff --git a/pa3.c b/pa3.c
index 430014a..cc50af5 100644
--- a/pa3.c
+++ b/pa3.c
@@ -204,8 +204,7 @@ struct mutex full;
 void enqueue_into_ringbuffer(int value){
 	acquire_mutex(&full);
 	acquire_mutex(&mutexs);
-	ringbuffer.slots[ringbuffer.in]=value;
-	ringbuffer.in=(ringbuffer.in+1)%ringbuffer.nr_slots;
+	ringbuffer.slots[(ringbuffer.in++)%ringbuffer.nr_slots]=value;
 	release_mutex(&mutexs);
 	release_mutex(&empty);
 }
@@ -224,8 +223,7 @@ int dequeue_from_ringbuffer(void)
 {
 	acquire_mutex(&empty);
 	acquire_mutex(&mutexs);
-	int data=ringbuffer.slots[ringbuffer.out];
-	ringbuffer.out=(ringbuffer.out + 1)%ringbuffer.nr_slots;
+	int data=ringbuffer.slots[(ringbuffer.out++)%ringbuffer.nr_slots];
 	release_mutex(&mutexs);
 	release_mutex(&full);
 	return data;
-- 
GitLab