X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fnotification-thread-events.c;h=40450304297230b96cdf980afde1b516dc6c02c9;hp=b47a79528c329026870ed9afe4815b72da2be3fe;hb=f8522f5cc357c0d80257d5ace1cd556a88305c0c;hpb=242388e491e4219f967ee424d7bf02035a313e6f diff --git a/src/bin/lttng-sessiond/notification-thread-events.c b/src/bin/lttng-sessiond/notification-thread-events.c index b47a79528..404503042 100644 --- a/src/bin/lttng-sessiond/notification-thread-events.c +++ b/src/bin/lttng-sessiond/notification-thread-events.c @@ -2232,9 +2232,14 @@ int handle_notification_thread_command_register_trigger( uid_t object_uid; gid_t object_gid; enum action_executor_status executor_status; + const uint64_t trigger_tracer_token = + state->trigger_id.next_tracer_token++; rcu_read_lock(); + /* Set the trigger's tracer token. */ + lttng_trigger_set_tracer_token(trigger, trigger_tracer_token); + if (lttng_trigger_get_name(trigger, &trigger_name) == LTTNG_TRIGGER_STATUS_UNSET) { const enum lttng_error_code ret_code = generate_trigger_name( @@ -2473,6 +2478,8 @@ int handle_notification_thread_command_register_trigger( end: *cmd_result = LTTNG_OK; + DBG("Registered trigger: name = `%s`, tracer token = %" PRIu64, + trigger_name, trigger_tracer_token); error_put_client_list: notification_client_list_put(client_list); @@ -4092,6 +4099,12 @@ int handle_notification_thread_channel_sample( goto put_list; } + if (!lttng_trigger_should_fire(trigger)) { + goto put_list; + } + + lttng_trigger_fire(trigger); + /* * Ownership of `evaluation` transferred to the action executor * no matter the result.