+ case LTTNG_LIST_TRIGGERS:
+ {
+ struct lttng_dynamic_buffer payload;
+ struct lttng_triggers *return_triggers;
+
+ lttng_dynamic_buffer_init(&payload);
+ ret = cmd_list_triggers(cmd_ctx, *sock,
+ notification_thread_handle, &return_triggers);
+ if (ret != LTTNG_OK) {
+ goto error;
+ }
+
+ ret = lttng_triggers_serialize(return_triggers, &payload);
+ if (ret) {
+ ERR("Failed to serialize triggers in reply to \"list triggers\" command");
+ ret = LTTNG_ERR_NOMEM;
+ lttng_triggers_destroy(return_triggers);
+ goto error;
+ }
+ ret = setup_lttng_msg_no_cmd_header(cmd_ctx, payload.data,
+ payload.size);
+ if (ret) {
+ ret = LTTNG_ERR_NOMEM;
+ lttng_triggers_destroy(return_triggers);
+ goto error;
+ }
+ lttng_dynamic_buffer_reset(&payload);
+ lttng_triggers_destroy(return_triggers);
+ ret = LTTNG_OK;
+ break;
+ }