X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=libustconsumer%2Flibustconsumer.c;h=8eb4424be81099d4113fe00a8d780b1e2f5edfce;hb=7ecca90ddd823c78c6c26f927426e08dc512c92a;hp=25c84ce0c48d36b20ef6369e8f0a60d5a2508293;hpb=e2b465757cadd72353b3ce4ae2b9402d66750e3b;p=ust.git diff --git a/libustconsumer/libustconsumer.c b/libustconsumer/libustconsumer.c index 25c84ce..8eb4424 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) { @@ -422,6 +426,11 @@ static void destroy_buffer(struct ustconsumer_callbacks *callbacks, { int result; + result = close(buf->pipe_fd); + if(result == -1) { + WARN("problem closing the pipe fd"); + } + result = close(buf->app_sock); if(result == -1) { WARN("problem calling ustcomm_close_app"); @@ -621,7 +630,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;