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

index a6737e6e7d8190c9d3018228206a36a414a42253..aad8cd776b3cdfbedd14c0275e17c803a8ef1480 100644 (file)
@@ -2,5 +2,5 @@ cmake_minimum_required(VERSION 3.18.4)
 
 project(ringbuffer)
 
-add_executable(ringbuffer demo.c ringbuffer.c readbuffer.c)
+add_executable(ringbuffer demo.c ringbuffer.c readbuffer.c outputbuffer.c)
 target_link_libraries(ringbuffer pthread)
diff --git a/demo.c b/demo.c
index 165a8b9877081dbb8fa4cdeb20e47da72c4721ba..ea2df9f81c3ac8d6a19e5a1398e6759ac339caa2 100644 (file)
--- a/demo.c
+++ b/demo.c
@@ -1,32 +1,9 @@
 #include <stdio.h>
 #include <pthread.h>
-#include <unistd.h>
 #include "readbuffer.h"
+#include "outputbuffer.h"
 #include "ringbuffer.h"
 
-#define maxvalues 1000000
-
-void waitDstBuffer(ringbuffer *buf)
-{
-       while (buf->count == 0 && !buf->finish) {
-               usleep(100);
-       }
-}
-
-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));
-       }
-}
-
 int main()
 {
        pthread_t readthread;
diff --git a/outputbuffer.c b/outputbuffer.c
new file mode 100644 (file)
index 0000000..0e90e77
--- /dev/null
@@ -0,0 +1,26 @@
+#include <stdio.h>
+#include <unistd.h>
+#include "outputbuffer.h"
+
+#define maxvalues 1000000
+
+void waitDstBuffer(ringbuffer *buf)
+{
+       while (buf->count == 0 && !buf->finish) {
+               usleep(100);
+       }
+}
+
+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));
+       }
+}
diff --git a/outputbuffer.h b/outputbuffer.h
new file mode 100644 (file)
index 0000000..8b70a55
--- /dev/null
@@ -0,0 +1,8 @@
+#ifndef OUTPUTBUFFER_H
+#define OUTPUTBUFFER_H
+#include "ringbuffer.h"
+
+void waitDstBuffer(ringbuffer *buf);
+void *outValues(void *buf);
+
+#endif