X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fnotification-thread-events.c;h=212746faa1c7a50d67e3006f868908222a00d22c;hp=049a6d3fcc150d8c5afe9239860244c87997adb3;hb=2fb5e9b7971e2408dce182fcf7e87cd81dcb388b;hpb=173900f678f7f969c79a88ceac2f1e4be2588f79 diff --git a/src/bin/lttng-sessiond/notification-thread-events.c b/src/bin/lttng-sessiond/notification-thread-events.c index 049a6d3fc..212746faa 100644 --- a/src/bin/lttng-sessiond/notification-thread-events.c +++ b/src/bin/lttng-sessiond/notification-thread-events.c @@ -1921,7 +1921,6 @@ int handle_notification_thread_command_add_tracer_event_source( goto end; } - CDS_INIT_LIST_HEAD(&element->node); element->fd = tracer_event_source_fd; element->domain = domain_type; @@ -1956,6 +1955,7 @@ int handle_notification_thread_command_remove_tracer_event_source( enum lttng_error_code *_cmd_result) { int ret = 0; + bool found = false; enum lttng_error_code cmd_result = LTTNG_OK; struct notification_event_tracer_event_source_element *source_element = NULL, *tmp; @@ -1969,11 +1969,19 @@ int handle_notification_thread_command_remove_tracer_event_source( tracer_event_source_fd, lttng_domain_type_str(source_element->domain)); cds_list_del(&source_element->node); + found = true; break; } - /* It should always be found. */ - assert(source_element); + if (!found) { + /* + * This is temporarily allowed since the poll activity set is + * not properly cleaned-up for the moment. This is adressed in + * an upcoming fix. + */ + source_element = NULL; + goto end; + } if (!source_element->is_fd_in_poll_set) { /* Skip the poll set removal. */