rbreader.c   rbreader.c 
skipping to change at line 14 skipping to change at line 14
#include <string.h> #include <string.h>
#include <unistd.h> #include <unistd.h>
#include <signal.h> #include <signal.h>
#include <qb/qbdefs.h> #include <qb/qbdefs.h>
#include <qb/qbrb.h> #include <qb/qbrb.h>
#include <qb/qbutil.h> #include <qb/qbutil.h>
#define BUFFER_CHUNK_SIZE (50*50*10) #define BUFFER_CHUNK_SIZE (50*50*10)
static qb_ringbuffer_t *rb = NULL; static qb_ringbuffer_t *rb = NULL;
static int keep_reading = QB_TRUE;
static void sigterm_handler(int32_t num) static void sigterm_handler(int32_t num)
{ {
printf("reader: %s(%d)\n", __func__, num); printf("reader: %s(%d)\n", __func__, num);
qb_rb_close(rb); keep_reading = QB_FALSE;
exit(0);
} }
static void libqb_log_writer(const char *file_name, static void libqb_log_writer(const char *file_name,
int32_t file_line, int32_t file_line,
int32_t severity, const char *msg) int32_t severity, const char *msg)
{ {
printf("libqb:reader: %s:%d %s\n", file_name, file_line, msg); printf("libqb:reader: %s:%d %s\n", file_name, file_line, msg);
} }
int32_t main(int32_t argc, char *argv[]) int32_t main(int32_t argc, char *argv[])
{ {
ssize_t num_read; ssize_t num_read;
int8_t buffer[BUFFER_CHUNK_SIZE]; int8_t buffer[BUFFER_CHUNK_SIZE];
int32_t keep_reading = 1;
signal(SIGINT, sigterm_handler); signal(SIGINT, sigterm_handler);
qb_util_set_log_function(libqb_log_writer); qb_util_set_log_function(libqb_log_writer);
rb = qb_rb_open("tester", BUFFER_CHUNK_SIZE * 3, rb = qb_rb_open("tester", BUFFER_CHUNK_SIZE * 3,
QB_RB_FLAG_SHARED_PROCESS | QB_RB_FLAG_CREATE, 0); QB_RB_FLAG_SHARED_PROCESS | QB_RB_FLAG_CREATE, 0);
if (rb == NULL) { if (rb == NULL) {
printf("reader: failed to create ringbuffer\n"); printf("reader: failed to create ringbuffer\n");
return -1; return -1;
} }
while (keep_reading) { while (keep_reading) {
num_read = num_read = qb_rb_chunk_read(rb, buffer,
qb_rb_chunk_read(rb, buffer, BUFFER_CHUNK_SIZE, 5500); BUFFER_CHUNK_SIZE, 5500);
if (num_read == -1) { if (num_read == -1) {
printf("reader: nothing to read\n"); printf("reader: nothing to read\n");
//usleep(1);
} }
} }
qb_rb_close(rb); qb_rb_close(rb);
return 0; return 0;
} }
 End of changes. 5 change blocks. 
6 lines changed or deleted 4 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/