FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Cluster Development

 
 
LinkBack Thread Tools
 
Old 01-14-2008, 03:00 PM
 
Default cluster/gfs-kernel/src/dlm thread.c

CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL4
Changes by: teigland@sourceware.org 2008-01-14 16:00:20

Modified files:
gfs-kernel/src/dlm: thread.c

Log message:
bz 352731

I've looked at other users of kthread_stop()/kthread_should_stop(),
and most seem to incorporate a call to kthread_should_stop() within
the test that adds the thread to a wait_queue. I'm guessing that
that's what we should be doing also (and at the same time using
wait_event_interruptible() instead of an open-coded equivalent.)

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/dlm/thread.c.diff?cvsroot=cluster&only_with_tag=RHEL4& r1=1.16.2.6&r2=1.16.2.7

--- cluster/gfs-kernel/src/dlm/Attic/thread.c 2007/08/31 15:23:32 1.16.2.6
+++ cluster/gfs-kernel/src/dlm/Attic/thread.c 2008/01/14 16:00:20 1.16.2.7
@@ -330,15 +330,10 @@
dlm_lock_t *lp = NULL;
dlm_start_t *ds = NULL;
uint8_t complete, blocking, submit, start, finish, drop, shrink;
- DECLARE_WAITQUEUE(wait, current);

while (!kthread_should_stop()) {
- set_current_state(TASK_INTERRUPTIBLE);
- add_wait_queue(&dlm->wait, &wait);
- if (no_work(dlm))
- schedule();
- remove_wait_queue(&dlm->wait, &wait);
- set_current_state(TASK_RUNNING);
+ wait_event_interruptible(dlm->wait,
+ !no_work(dlm) || kthread_should_stop());

complete = blocking = submit = start = finish = 0;
drop = shrink = 0;
 

Thread Tools




All times are GMT. The time now is 12:57 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org