summaryrefslogtreecommitdiffstats
path: root/kernel/sys.c
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@tv-sign.ru>2008-08-21 01:54:44 +0200
committerIngo Molnar <mingo@elte.hu>2008-08-22 15:17:31 +0200
commit93dcf55f828b035fc93fc19eb03c1390e1e6d570 (patch)
tree8a5b2ee5c5bb664ff856483244cec1f249a129a3 /kernel/sys.c
parentwait_task_inactive(): don't consider task->nivcsw (diff)
downloadlinux-93dcf55f828b035fc93fc19eb03c1390e1e6d570.tar.xz
linux-93dcf55f828b035fc93fc19eb03c1390e1e6d570.zip
wait_task_inactive: "improve" the returned value for ->nvcsw == 0
wait_task_inactive() returns 1 when p->nvcsw == 0 || p->nvcsw == 1. This means that two subsequent calls can return the same number while the task was scheduled in between. Change the code to return "nvcsw | LONG_MIN" instead of "nvcsw ?: 1", now the overlap always needs LONG_MAX schedules. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/sys.c')
0 files changed, 0 insertions, 0 deletions