On 09/08/2014 01:38 AM, Robert Schiele wrote: > stop_tracers modifies tp->is_done and thus must signal the condition > variable tracer_wait_unblock is waiting on to monitor tp->is_done. > Not doing so might cause the tool to deadlock if stop_tracers is > called while a tracer thread is in tracer_wait_unblock. > > Signed-off-by: Robert Schiele <rschiele@xxxxxxxxx> > --- > blktrace.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/blktrace.c b/blktrace.c > index 7e64c94..3c8fb4c 100644 > --- a/blktrace.c > +++ b/blktrace.c > @@ -1913,6 +1913,7 @@ static void stop_tracers(void) > struct tracer *tp = list_entry(p, struct tracer, head); > tp->is_done = 1; > } > + pthread_cond_broadcast(&mt_cond); > } > > static void del_tracers(void) > Good catch! Applied. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-btrace" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html