X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=liblttng-consumer%2Flttng-consumer.c;h=2fcb39a27290ea2d1f9a060948df6252698deaf8;hb=5af2f756eb72d460d304318550afc782279452b9;hp=081d6142b2d76505f3f4de4520654380d3c220cc;hpb=322585731ced1adba36cddcb8bdd5d997d1b2e3e;p=lttng-tools.git diff --git a/liblttng-consumer/lttng-consumer.c b/liblttng-consumer/lttng-consumer.c index 081d6142b..2fcb39a27 100644 --- a/liblttng-consumer/lttng-consumer.c +++ b/liblttng-consumer/lttng-consumer.c @@ -125,10 +125,11 @@ void consumer_del_stream(struct lttng_consumer_stream *stream) if (stream->out_fd >= 0) { close(stream->out_fd); } - if (stream->wait_fd >= 0) { + if (stream->wait_fd >= 0 && !stream->wait_fd_is_copy) { close(stream->wait_fd); } - if (stream->shm_fd >= 0 && stream->wait_fd != stream->shm_fd) { + if (stream->shm_fd >= 0 && stream->wait_fd != stream->shm_fd + && !stream->shm_fd_is_copy) { close(stream->shm_fd); } if (!--stream->chan->refcount) @@ -180,6 +181,7 @@ struct lttng_consumer_stream *consumer_allocate_stream( case LTTNG_CONSUMER_KERNEL: break; case LTTNG_CONSUMER_UST: + stream->cpu = stream->chan->cpucount++; ret = lttng_ustconsumer_allocate_stream(stream); if (ret) { free(stream); @@ -282,10 +284,11 @@ void consumer_del_channel(struct lttng_consumer_channel *channel) perror("munmap"); } } - if (channel->wait_fd >= 0) { + if (channel->wait_fd >= 0 && !channel->wait_fd_is_copy) { close(channel->wait_fd); } - if (channel->shm_fd >= 0 && channel->wait_fd != channel->shm_fd) { + if (channel->shm_fd >= 0 && channel->wait_fd != channel->shm_fd + && !channel->shm_fd_is_copy) { close(channel->shm_fd); } free(channel);