X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer%2Fconsumer.cpp;h=f97c119705451c1f2080e99327de6488e9283062;hb=1524f98c04431d04e50796f83a9dd29184b3a8a4;hp=3272c129fe353c2ad6b75f3f359391ce55ced9bf;hpb=319dcddc7409961e156af76666fe70d31baec55a;p=lttng-tools.git diff --git a/src/common/consumer/consumer.cpp b/src/common/consumer/consumer.cpp index 3272c129f..f97c11970 100644 --- a/src/common/consumer/consumer.cpp +++ b/src/common/consumer/consumer.cpp @@ -2167,7 +2167,7 @@ void consumer_del_metadata_stream(struct lttng_consumer_stream *stream, consumer_stream_delete(stream, ht); /* Close down everything including the relayd if one. */ - consumer_stream_close(stream); + consumer_stream_close_output(stream); /* Destroy tracer buffers of the stream. */ consumer_stream_destroy_buffers(stream); @@ -2428,9 +2428,8 @@ restart: stream->wait_fd); /* Add metadata stream to the global poll events list */ - lttng_poll_add(&events, stream->wait_fd, - LPOLLIN | LPOLLPRI | LPOLLHUP); - } else if (revents & (LPOLLERR | LPOLLHUP)) { + lttng_poll_add(&events, stream->wait_fd, LPOLLIN | LPOLLPRI); + }else if (revents & (LPOLLERR | LPOLLHUP)) { DBG("Metadata thread pipe hung up"); /* * Remove the pipe from the poll set and continue the loop @@ -3020,8 +3019,8 @@ restart: &chan->wait_fd_node); rcu_read_unlock(); /* Add channel to the global poll events list */ - lttng_poll_add(&events, chan->wait_fd, - LPOLLERR | LPOLLHUP); + // FIXME: Empty flag on a pipe pollset, this might hang on FreeBSD. + lttng_poll_add(&events, chan->wait_fd, 0); break; case CONSUMER_CHANNEL_DEL: {