Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8cbc4342478311c2a85260a7ca54d96cb7f71f7b
Commit:     8cbc4342478311c2a85260a7ca54d96cb7f71f7b
Parent:     c7227e46423a57b4df27a2d75b5869bd3ae654d0
Author:     David Teigland <[EMAIL PROTECTED]>
AuthorDate: Wed Nov 7 09:03:56 2007 -0600
Committer:  Steven Whitehouse <[EMAIL PROTECTED]>
CommitDate: Fri Jan 25 08:07:49 2008 +0000

    [GFS2] check kthread_should_stop when waiting
    
    Use wait_event_interruptible() in the lock_dlm thread instead
    of an open coded equivalent, and include a kthread_should_stop()
    check in the wait test so we don't miss a kthread_stop().
    
    Signed-off-by: David Teigland <[EMAIL PROTECTED]>
    Signed-off-by: Steven Whitehouse <[EMAIL PROTECTED]>
---
 fs/gfs2/locking/dlm/thread.c |    9 ++-------
 1 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/fs/gfs2/locking/dlm/thread.c b/fs/gfs2/locking/dlm/thread.c
index bd938f0..521694f 100644
--- a/fs/gfs2/locking/dlm/thread.c
+++ b/fs/gfs2/locking/dlm/thread.c
@@ -273,18 +273,13 @@ static int gdlm_thread(void *data, int blist)
        struct gdlm_ls *ls = (struct gdlm_ls *) data;
        struct gdlm_lock *lp = NULL;
        uint8_t complete, blocking, submit, drop;
-       DECLARE_WAITQUEUE(wait, current);
 
        /* Only thread1 is allowed to do blocking callbacks since gfs
           may wait for a completion callback within a blocking cb. */
 
        while (!kthread_should_stop()) {
-               set_current_state(TASK_INTERRUPTIBLE);
-               add_wait_queue(&ls->thread_wait, &wait);
-               if (no_work(ls, blist))
-                       schedule();
-               remove_wait_queue(&ls->thread_wait, &wait);
-               set_current_state(TASK_RUNNING);
+               wait_event_interruptible(ls->thread_wait,
+                               !no_work(ls, blist) || kthread_should_stop());
 
                complete = blocking = submit = drop = 0;
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to