Commit 81ddef77 authored by James Bottomley's avatar James Bottomley Committed by Linus Torvalds
Browse files

[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: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 9ffb7146
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -71,6 +71,8 @@ extern int keventd_up(void);

extern void init_workqueues(void);
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
+3 −2
Original line number Diff line number Diff line
@@ -429,12 +429,13 @@ void flush_scheduled_work(void)
 * @wq:   the controlling workqueue structure
 * @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)
{
	while (!cancel_delayed_work(work))
		flush_workqueue(wq);
}
EXPORT_SYMBOL(cancel_rearming_delayed_workqueue);

/**
 * cancel_rearming_delayed_work - reliably kill off a delayed keventd