Make only libust and libustconsumer use a signal safe usterr.h
[ust.git] / libustconsumer / libustconsumer.c
index c51b1066b84e138158c150e73f4a41947687bea7..c5acffa030296eda5b775fed81e13ec8b7134b7d 100644 (file)
@@ -34,7 +34,7 @@
 
 #include <ust/ustconsumer.h>
 #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;
This page took 0.023052 seconds and 4 git commands to generate.