tracing: handle unregistering the current tracer
Impact: simplification Instead of requiring that plugins have the sequence: my_tracer_stop(my_trace_array); unregister_tracer(my_tracer); it should be possible just do a: unregister_tracer(my_tracer); Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
3861a17bcc
commit
b5db03c435
|
@ -559,6 +559,15 @@ void unregister_tracer(struct tracer *type)
|
|||
|
||||
found:
|
||||
*t = (*t)->next;
|
||||
|
||||
if (type == current_trace && tracer_enabled) {
|
||||
tracer_enabled = 0;
|
||||
tracing_stop();
|
||||
if (current_trace->stop)
|
||||
current_trace->stop(&global_trace);
|
||||
current_trace = &nop_trace;
|
||||
}
|
||||
|
||||
if (strlen(type->name) != max_tracer_type_len)
|
||||
goto out;
|
||||
|
||||
|
|
Loading…
Reference in New Issue