projects
/
linux-2.6-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
do_wait() wakeup optimization: child_wait_callback: check __WNOTHREAD case
[linux-2.6-block.git]
/
kernel
/
exit.c
diff --git
a/kernel/exit.c
b/kernel/exit.c
index 7838b4d687743cb2e927e13d9cefe482e1b662d0..270a68b7f22fd8259512f97be2696d451fc8a744 100644
(file)
--- a/
kernel/exit.c
+++ b/
kernel/exit.c
@@
-1581,6
+1581,9
@@
static int child_wait_callback(wait_queue_t *wait, unsigned mode,
if (!eligible_child(wo, p))
return 0;
+ if ((wo->wo_flags & __WNOTHREAD) && wait->private != p->parent)
+ return 0;
+
return default_wake_function(wait, mode, sync, key);
}