[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v9 4/7] trace: [monitor] Use new event control inter
From: |
Lluís Vilanova |
Subject: |
[Qemu-devel] [PATCH v9 4/7] trace: [monitor] Use new event control interface |
Date: |
Thu, 10 Jan 2013 20:23:19 +0100 |
User-agent: |
StGit/0.16 |
Signed-off-by: Lluís Vilanova <address@hidden>
---
monitor.c | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/monitor.c b/monitor.c
index 9cf419b..4c40541 100644
--- a/monitor.c
+++ b/monitor.c
@@ -735,10 +735,24 @@ 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) {
+ if (!trace_event_get_state_static(ev)) {
+ monitor_printf(mon, "event \"%s\" is not traceable\n",
tp_name);
+ }
+ 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 if (!trace_event_get_state_static(ev)) {
+ monitor_printf(mon, "event \"%s\" is not traceable\n", tp_name);
+ } else {
+ trace_event_set_state_dynamic(ev, new_state);
+ }
}
}
[Qemu-devel] [PATCH v9 5/7] trace: [default] Port to generic event information and new control interface, Lluís Vilanova, 2013/01/10
[Qemu-devel] [PATCH v9 6/7] trace: [simple] Port to generic event information and new control interface, Lluís Vilanova, 2013/01/10
[Qemu-devel] [PATCH v9 7/7] trace: [stderr] Port to generic event information and new control interface, Lluís Vilanova, 2013/01/10