[PATCH 2/3] utrace_control: don't mark_engine_detached() before engine_wants_stop()
Oleg Nesterov
oleg at redhat.com
Tue Sep 1 18:22:44 UTC 2009
mark_engine_detached() removes ENGINE_STOP from engine->flags, this means
utrace_control(UTRACE_DETACH) can never seer engine_wants_stop() == T.
Signed-off-by: Oleg Nesterov <oleg at redhat.com>
---
kernel/utrace.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
--- __UTRACE/kernel/utrace.c~1_FIX_DETACH_BEFORE_WANT_STOP 2009-09-01 20:02:26.000000000 +0200
+++ __UTRACE/kernel/utrace.c 2009-09-01 20:03:25.000000000 +0200
@@ -1086,7 +1086,6 @@ int utrace_control(struct task_struct *t
break;
case UTRACE_DETACH:
- mark_engine_detached(engine);
reset = reset || utrace_do_stop(target, utrace);
if (!reset) {
/*
@@ -1106,9 +1105,9 @@ int utrace_control(struct task_struct *t
* We need utrace_reset() to check if anyone else
* still wants this target to stay stopped.
*/
- clear_engine_wants_stop(engine);
reset = true;
}
+ mark_engine_detached(engine);
break;
case UTRACE_RESUME:
More information about the utrace-devel
mailing list