From: Jérémie Galarneau Date: Tue, 21 Jun 2022 20:21:17 +0000 (-0400) Subject: Fix: ust-consumerd: set `hangup_flush_done` in a locked context X-Git-Tag: v2.13.8~8 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=d2dc232d580ae18400445b6e34fabe1023208f20;p=lttng-tools.git Fix: ust-consumerd: set `hangup_flush_done` in a locked context hangup_flush_done is updated after releasing the stream lock. This doesn't appear to be a problem right now since this attribute is apparently always accessed by the same thread, but it is conceptually sus. Signed-off-by: Jérémie Galarneau Change-Id: I191cb01b02c3d96e19034e0d0e80cb7f8dff2140 --- diff --git a/src/common/ust-consumer/ust-consumer.c b/src/common/ust-consumer/ust-consumer.c index ba5f6e422..c6ffb1223 100644 --- a/src/common/ust-consumer/ust-consumer.c +++ b/src/common/ust-consumer/ust-consumer.c @@ -2463,8 +2463,9 @@ void lttng_ustconsumer_on_stream_hangup(struct lttng_consumer_stream *stream) stream->quiescent = true; } } - pthread_mutex_unlock(&stream->lock); + stream->hangup_flush_done = 1; + pthread_mutex_unlock(&stream->lock); } void lttng_ustconsumer_del_channel(struct lttng_consumer_channel *chan)