X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=libustconsumer%2Flibustconsumer.c;h=ef54fe807352bf5be8242b8bf0e205fe1aaa26c4;hb=cd6b724338f1156ce7281f00a06ea848bec7213c;hp=6cb3dbf3b472327c65b1a8363d552a23c6b042ec;hpb=9dc7b7ff797a5cbb1e9ffd59e053a04562f306c4;p=ust.git diff --git a/libustconsumer/libustconsumer.c b/libustconsumer/libustconsumer.c index 6cb3dbf..ef54fe8 100644 --- a/libustconsumer/libustconsumer.c +++ b/libustconsumer/libustconsumer.c @@ -353,6 +353,10 @@ struct buffer_info *connect_buffer(struct ustconsumer_instance *instance, pid_t 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) { @@ -445,7 +449,8 @@ static void destroy_buffer(struct ustconsumer_callbacks *callbacks, 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); @@ -487,6 +492,7 @@ int consumer_loop(struct ustconsumer_instance *instance, struct buffer_info *buf /* 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); @@ -598,7 +604,7 @@ int start_consuming_buffer(struct ustconsumer_instance *instance, pid_t pid, 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) { @@ -611,7 +617,7 @@ int start_consuming_buffer(struct ustconsumer_instance *instance, pid_t pid, 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; } @@ -619,7 +625,7 @@ static void process_client_cmd(int sock, struct ustcomm_header *req_header, 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;