@@ -617,10 +617,19 @@ static void do_trace_event_set_state(Monitor *mon, const QDict *qdict)
{
const char *tp_name = qdict_get_str(qdict, "name");
bool new_state = qdict_get_bool(qdict, "option");
- int ret = trace_event_set_state(tp_name, new_state);
- if (!ret) {
- monitor_printf(mon, "unknown event name \"%s\"\n", tp_name);
+ if (trace_event_is_pattern(tp_name)) {
+ TraceEvent *ev = NULL;
+ while ((ev = trace_event_pattern(tp_name, ev)) != NULL) {
+ trace_event_set_state_dynamic(ev, new_state);
+ }
+ } else {
+ TraceEvent *ev = trace_event_name(tp_name);
+ if (ev == NULL) {
+ monitor_printf(mon, "unknown event name \"%s\"\n", tp_name);
+ } else {
+ trace_event_set_state_dynamic(ev, new_state);
+ }
}
}
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> --- monitor.c | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-)