X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=libustconsumer%2Flibustconsumer.c;h=c5acffa030296eda5b775fed81e13ec8b7134b7d;hb=30ffe2794fc413035208cdd2a7a061bc208e210f;hp=c51b1066b84e138158c150e73f4a41947687bea7;hpb=eb52c24a03c9995d989356c0ae05730ea8da9ce7;p=ust.git diff --git a/libustconsumer/libustconsumer.c b/libustconsumer/libustconsumer.c index c51b106..c5acffa 100644 --- a/libustconsumer/libustconsumer.c +++ b/libustconsumer/libustconsumer.c @@ -34,7 +34,7 @@ #include #include "lowlevel.h" -#include "usterr.h" +#include "usterr_signal_safe.h" #include "ustcomm.h" #define GET_SUBBUF_OK 1 @@ -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"); @@ -837,7 +846,7 @@ static int init_ustconsumer_socket(struct ustconsumer_instance *instance) int result; /* Only check if socket dir exists if we are using the default directory */ - result = ensure_dir_exists(SOCK_DIR); + result = ensure_dir_exists(SOCK_DIR, S_IRWXU | S_IRWXG | S_IRWXO); if (result == -1) { ERR("Unable to create socket directory %s", SOCK_DIR); return -1;