lttng_domain_type_str(domain_type));
/* Adding the read side pipe to the event poll. */
- ret = lttng_poll_add(&state->events, tracer_event_source_fd, LPOLLIN | LPOLLERR);
+ ret = lttng_poll_add(&state->events, tracer_event_source_fd, LPOLLPRI | LPOLLIN | LPOLLERR);
if (ret < 0) {
ERR("Failed to add tracer event source to poll set: tracer_event_source_fd = %d, domain = '%s'",
tracer_event_source_fd,
source_element = NULL;
end:
- return NULL;
+ return source_element;
}
static
source_element->is_fd_in_poll_set = false;
+ /*
+ * Force the notification thread to restart the poll() loop to ensure
+ * that any events from the removed fd are removed.
+ */
+ state->restart_poll = true;
+
ret = drain_event_notifier_notification_pipe(state, source_element->fd,
source_element->domain);
if (ret) {
* Notifications resulting from an hidden trigger are
* only sent to the session daemon.
*/
- continue;
+ DBG("Skipping client as the trigger is hidden and the client is not the session daemon");
+ goto skip_client;
}
if (source_object_creds) {