Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix a dead store reported by infer
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Mon, 20 Nov 2023 07:49:27 +0000 (08:49 +0100)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Mon, 20 Nov 2023 07:49:27 +0000 (08:49 +0100)
examples/sthread/pthread-producer-consumer.c

index 52a0080..fe3fe5d 100644 (file)
@@ -45,9 +45,10 @@ static void* consumer(void* id)
   for (int i = 0; i < AmountConsumed; i++) {
     sem_wait(&full);
     pthread_mutex_lock(&mutex);
-    int item = buffer[out];
-    if (do_output)
+    if (do_output) {
+      int item = buffer[out];
       fprintf(stderr, "Consumer %d: Remove Item %d from %d\n", *((int*)id), item, out);
+    }
     out = (out + 1) % BufferSize;
     pthread_mutex_unlock(&mutex);
     sem_post(&empty);