#include <stdio.h>
#include <pthread.h>
+#include <unistd.h>
#include "ringbuffer.h"
#define maxvalues 60
+void waitSrcBuffer(ringbuffer *buf)
+{
+ while(buf->full) {
+ sleep(1);
+ }
+}
+
+void waitDstBuffer(ringbuffer *buf)
+{
+ while(buf->count == 0 && !buf->finish) {
+ sleep(1);
+ }
+}
+
void *readValues(void *buf)
{
ringbuffer *buffer = (ringbuffer*) buf;
buffer->tail,
buffer->count,
i);
+ waitSrcBuffer(buffer);
}
+
+ buffer->finish = true;
}
void *outValues(void *buf)
buffer->tail,
buffer->count,
getValue(buffer));
+ waitDstBuffer(buffer);
}
}