Re: Q: utrace_reset() UTRACE_EVENT(REAP)

2009-03-13 Thread Oleg Nesterov
On 03/12, Roland McGrath wrote: So I think we need this: @@ -181,7 +181,13 @@ static int utrace_add_engine(struct task_struct *target, * also set. Otherwise utrace_control() or utrace_do_stop() * might skip setting TIF_NOTIFY_RESUME upon seeing -report

utrace_set_events/utrace_control death/reap checks

2009-03-13 Thread Oleg Nesterov
utrace_set_events: (utrace-death ((old_flags ~events) DEATH_EVENTS)) (old_flags ~events) DEATH_EVENTS) means the caller tries to clear DEATH/QUIESCE. Why this is not allowed? And why this is not allowed _only_ when the target runs utrace_report_death()-REPORT()? I think this line

Re: Q: utrace-stopped utrace_report_jctl()

2009-03-13 Thread Oleg Nesterov
On 03/12, Roland McGrath wrote: Yep. And utrace_reset() can be called because -stopped == 1. Right. Let me explain. Again, let's suppose D attaches engine E to the target T. T enters utrace_report_jctl() with -stopped == 1. D calls utrace_set_events(events = 0), this removes JCTL