1
0
Fork 0

[PATCH] re-export cancel_rearming_delayed_workqueue

This was unexported by Arjan because we have no current users.

However, during a conversion from tasklets to workqueues of the parisc led
functions, we ran across a case where this was needed.  In particular, the
open coded equivalent of cancel_rearming_delayed_workqueue was implemented
incorrectly, which is, I think, all the evidence necessary that this is a
useful API.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
hifive-unleashed-5.1
James Bottomley 2005-04-16 15:23:59 -07:00 committed by Linus Torvalds
parent 9ffb7146f0
commit 81ddef77bb
2 changed files with 5 additions and 2 deletions

View File

@ -71,6 +71,8 @@ extern int keventd_up(void);
extern void init_workqueues(void); extern void init_workqueues(void);
void cancel_rearming_delayed_work(struct work_struct *work); void cancel_rearming_delayed_work(struct work_struct *work);
void cancel_rearming_delayed_workqueue(struct workqueue_struct *,
struct work_struct *);
/* /*
* Kill off a pending schedule_delayed_work(). Note that the work callback * Kill off a pending schedule_delayed_work(). Note that the work callback

View File

@ -429,12 +429,13 @@ void flush_scheduled_work(void)
* @wq: the controlling workqueue structure * @wq: the controlling workqueue structure
* @work: the delayed work struct * @work: the delayed work struct
*/ */
static void cancel_rearming_delayed_workqueue(struct workqueue_struct *wq, void cancel_rearming_delayed_workqueue(struct workqueue_struct *wq,
struct work_struct *work) struct work_struct *work)
{ {
while (!cancel_delayed_work(work)) while (!cancel_delayed_work(work))
flush_workqueue(wq); flush_workqueue(wq);
} }
EXPORT_SYMBOL(cancel_rearming_delayed_workqueue);
/** /**
* cancel_rearming_delayed_work - reliably kill off a delayed keventd * cancel_rearming_delayed_work - reliably kill off a delayed keventd