From: Bastian Dehn Date: Sun, 24 Apr 2022 16:38:24 +0000 (+0200) Subject: fix wait first X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=ec889515222098ad0519d49d36757d0488784c39;p=ringbuffer.git fix wait first --- diff --git a/demo.c b/demo.c index cc9a018..72e8eeb 100644 --- a/demo.c +++ b/demo.c @@ -23,13 +23,13 @@ void *readValues(void *buf) { ringbuffer *buffer = (ringbuffer*) buf; for (int i = 0; i < maxvalues; i++) { + waitSrcBuffer(buffer); addValue(buffer, i); printf("add: Head: %d, Tail %d, Count: %d, Value: %d\n", buffer->head, buffer->tail, buffer->count, i); - waitSrcBuffer(buffer); } buffer->finish = true; @@ -40,12 +40,12 @@ void *outValues(void *buf) ringbuffer *buffer = (ringbuffer*) buf; for (int i = 0; i < maxvalues; i++) { + waitDstBuffer(buffer); printf("get: Head: %d, Tail %d, Count: %d, Value: %d\n", buffer->head, buffer->tail, buffer->count, getValue(buffer)); - waitDstBuffer(buffer); } } @@ -57,9 +57,8 @@ int main() ringbuffer buffer; initRingbuffer(&buffer, 50); - pthread_create(&readthread, NULL, readValues, &buffer); - sleep(10); pthread_create(&outthread, NULL, outValues, &buffer); + pthread_create(&readthread, NULL, readValues, &buffer); pthread_join(readthread, NULL); pthread_join(outthread, NULL);