make cancel_xxx_work_sync() return a boolean
commit1f1f642e2f092e37eb9038060eb0100c44f55a11
authorOleg Nesterov <oleg@tv-sign.ru>
Mon, 16 Jul 2007 06:41:44 +0000 (15 23:41 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 16 Jul 2007 16:05:51 +0000 (16 09:05 -0700)
tree73dea7896dea85dcf5cfa13b9e3ebf9645868160
parentf5a421a4509a7e2dff11da0f01b0548f4f84d503
make cancel_xxx_work_sync() return a boolean

Change cancel_work_sync() and cancel_delayed_work_sync() to return a boolean
indicating whether the work was actually cancelled.  A zero return value means
that the work was not pending/queued.

Without that kind of change it is not possible to avoid flush_workqueue()
sometimes, see the next patch as an example.

Also, this patch unifies both functions and kills the (unlikely) busy-wait
loop.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Acked-by: Jarek Poplawski <jarkao2@o2.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/workqueue.h
kernel/workqueue.c