]> git.baikalelectronics.ru Git - kernel.git/commit
futex: restartable futex_wait
authorNick Piggin <npiggin@suse.de>
Tue, 8 May 2007 07:26:43 +0000 (00:26 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 8 May 2007 18:15:03 +0000 (11:15 -0700)
commit724efd3450b3e43322188d2b9c52c63f23356297
tree647fe566121ba004590e5b639ae791ec4af7955d
parent48c7a95fa0b87a141c0627b9facfd915815bf99c
futex: restartable futex_wait

LTP test sigaction_16_24 fails, because it expects sem_wait to be restarted
if SA_RESTART is set.  sem_wait is implemented with futex_wait, that
currently doesn't support being restarted.  Ulrich confirms that the call
should be restartable.

Implement a restart_block method to handle the relative timeout, and allow
restarts.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Cc: Ulrich Drepper <drepper@redhat.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Roland McGrath <roland@redhat.com>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/futex.c