goto close_fifo;
}
+ /* Set subbuffer's information */
+ buf->subbuf_size_order = get_count_order(buf->subbuf_size);
+ buf->alloc_size = buf->subbuf_size * buf->n_subbufs;
+
/* attach memory */
buf->mem = shmat(buf->shmid, NULL, 0);
if(buf->mem == (void *) 0) {
int consumer_loop(struct ustconsumer_instance *instance, struct buffer_info *buf)
{
- int result, read_result;
+ int result = 0;
+ int read_result;
char read_buf;
pthread_cleanup_push(decrement_active_buffers, instance);
/* Skip the first subbuffer. We are not sure it is trustable
* because the put_subbuffer() did not complete.
*/
+ /* TODO: check on_put_error return value */
if(instance->callbacks->on_put_error)
instance->callbacks->on_put_error(instance->callbacks, buf);
args->channel_cpu = channel_cpu;
args->instance = instance;
DBG("beginning2 of start_consuming_buffer: args: pid %d trace %s"
- " bufname %s_%d", args->pid, args->channel, args->channel_cpu);
+ " bufname %s_%d", args->pid, args->trace, args->channel, args->channel_cpu);
result = pthread_create(&thr, NULL, consumer_thread, args);
if(result == -1) {
return -1;
}
DBG("end of start_consuming_buffer: args: pid %d trace %s "
- "bufname %s_%d", args->pid, args->channel, args->channel_cpu);
+ "bufname %s_%d", args->pid, args->channel, args->trace, args->channel_cpu);
return 0;
}
char *recvbuf, struct ustconsumer_instance *instance)
{
int result;
- struct ustcomm_header _res_header;
+ struct ustcomm_header _res_header = {0};
struct ustcomm_header *res_header = &_res_header;
struct ustcomm_buffer_info *buf_inf;