[lttng-dev] [PATCH lttng-tools 5/8] Fix hang in thread_rotation when using compat-poll

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Wed Mar 20 15:28:26 EDT 2019


----- On Mar 19, 2019, at 5:17 PM, Yannick Lamarre ylamarre at efficios.com wrote:

> The poll flavor of the lttng_poll api requires the caller to verify
> which of the fd has really waken the thread from wait. This
> verification was missing and a blocking read was made on an empty fd.

Please use present tense in the changelog.

Other than that,

Acked-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>

Thanks,

Mathieu

> 
> Signed-off-by: Yannick Lamarre <ylamarre at efficios.com>
> ---
> src/bin/lttng-sessiond/rotation-thread.c | 4 ++++
> 1 file changed, 4 insertions(+)
> 
> diff --git a/src/bin/lttng-sessiond/rotation-thread.c
> b/src/bin/lttng-sessiond/rotation-thread.c
> index 6669372d..b86b1668 100644
> --- a/src/bin/lttng-sessiond/rotation-thread.c
> +++ b/src/bin/lttng-sessiond/rotation-thread.c
> @@ -974,6 +974,10 @@ void *thread_rotation(void *data)
> 			int fd = LTTNG_POLL_GETFD(&thread.events, i);
> 			uint32_t revents = LTTNG_POLL_GETEV(&thread.events, i);
> 
> +			if (!revents) {
> +				/* No activity for this FD (poll implementation). */
> +				continue;
> +			}
> 			DBG("[rotation-thread] Handling fd (%i) activity (%u)",
> 					fd, revents);
> 
> --
> 2.11.0
> 
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com


More information about the lttng-dev mailing list