libustconsumer: Fix a fd leak of the pipe_fd
[ust.git] / libustconsumer / libustconsumer.c
index c51b1066b84e138158c150e73f4a41947687bea7..8eb4424be81099d4113fe00a8d780b1e2f5edfce 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) {
@@ -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");
This page took 0.022133 seconds and 4 git commands to generate.