]> gitweb.hhaalo.de Git - ringbuffer.git/commitdiff
fix wait first
authorBastian Dehn <hhaalo@arcor.de>
Sun, 24 Apr 2022 16:38:24 +0000 (18:38 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 24 Apr 2022 16:38:24 +0000 (18:38 +0200)
demo.c

diff --git a/demo.c b/demo.c
index cc9a01889948aba3248ae21af92a76b6038f7555..72e8eeb8016fede4d9f17d1f6333e1ca7f64d444 100644 (file)
--- 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);