]> gitweb.hhaalo.de Git - ringbuffer.git/commitdiff
change: readbuffer seperate file
authorBastian Dehn <hhaalo@arcor.de>
Sun, 15 May 2022 16:27:33 +0000 (18:27 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 15 May 2022 16:27:33 +0000 (18:27 +0200)
CMakeLists.txt
demo.c
readbuffer.c [new file with mode: 0644]
readbuffer.h [new file with mode: 0644]

index df5e5bbdb5b020027731106f5afe283088db63f5..a6737e6e7d8190c9d3018228206a36a414a42253 100644 (file)
@@ -2,5 +2,5 @@ cmake_minimum_required(VERSION 3.18.4)
 
 project(ringbuffer)
 
-add_executable(ringbuffer demo.c ringbuffer.c)
+add_executable(ringbuffer demo.c ringbuffer.c readbuffer.c)
 target_link_libraries(ringbuffer pthread)
diff --git a/demo.c b/demo.c
index 91504f85939a8cc6857905d04a0a93c0fc0eb572..165a8b9877081dbb8fa4cdeb20e47da72c4721ba 100644 (file)
--- a/demo.c
+++ b/demo.c
@@ -1,17 +1,11 @@
 #include <stdio.h>
 #include <pthread.h>
 #include <unistd.h>
+#include "readbuffer.h"
 #include "ringbuffer.h"
 
 #define maxvalues 1000000
 
-void waitSrcBuffer(ringbuffer *buf)
-{
-       while (buf->full) {
-               usleep(100);
-       }
-}
-
 void waitDstBuffer(ringbuffer *buf)
 {
        while (buf->count == 0 && !buf->finish) {
@@ -19,23 +13,6 @@ void waitDstBuffer(ringbuffer *buf)
        }
 }
 
-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);
-       }
-
-       buffer->finish = true;
-}
-
 void *outValues(void *buf)
 {
        ringbuffer *buffer = (ringbuffer*) buf;
diff --git a/readbuffer.c b/readbuffer.c
new file mode 100644 (file)
index 0000000..88992ec
--- /dev/null
@@ -0,0 +1,29 @@
+#include <stdio.h>
+#include <unistd.h>
+#include "readbuffer.h"
+
+#define maxvalues 1000000
+
+void waitSrcBuffer(ringbuffer *buf)
+{
+       while (buf->full) {
+               usleep(100);
+       }
+}
+
+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);
+       }
+
+       buffer->finish = true;
+}
diff --git a/readbuffer.h b/readbuffer.h
new file mode 100644 (file)
index 0000000..1e0e4e7
--- /dev/null
@@ -0,0 +1,8 @@
+#ifndef READBUFFER_H
+#define READBUFFER_H
+#include "ringbuffer.h"
+
+void waitSrcBuffer(ringbuffer *buf);
+void *readValues(void *buf);
+
+#endif