Code base to fix the print errors in UST (v4)
[ust.git] / libustconsumer / libustconsumer.c
index 6cb3dbf3b472327c65b1a8363d552a23c6b042ec..ef54fe807352bf5be8242b8bf0e205fe1aaa26c4 100644 (file)
@@ -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;
 
This page took 0.023762 seconds and 4 git commands to generate.