[DRBD-cvs] svn commit by lars - r2498 - branches/drbd-0.7/drbd - if we try to _drbd_thread_stop the worker while the wor

drbd-cvs at lists.linbit.com drbd-cvs at lists.linbit.com
Wed Oct 4 11:06:28 CEST 2006


Author: lars
Date: 2006-10-04 11:06:27 +0200 (Wed, 04 Oct 2006)
New Revision: 2498

Modified:
   branches/drbd-0.7/drbd/drbd_worker.c
Log:
if we try to _drbd_thread_stop the worker while the worker was in some of our
sending routines, just before the restore_old_sigset() happens, the worker
might "forget" about the signal.
checking the thread state just before it goes into down_interruptible again
should help.


Modified: branches/drbd-0.7/drbd/drbd_worker.c
===================================================================
--- branches/drbd-0.7/drbd/drbd_worker.c	2006-10-03 16:36:19 UTC (rev 2497)
+++ branches/drbd-0.7/drbd/drbd_worker.c	2006-10-04 09:06:27 UTC (rev 2498)
@@ -937,7 +937,7 @@
 
 	sprintf(current->comm, "drbd%d_worker", (int)(mdev-drbd_conf));
 
-	for (;;) {
+	while (get_t_state(thi) == Running) {
 		intr = down_interruptible(&mdev->data.work.s);
 
 		if (unlikely(drbd_did_panic == DRBD_MAGIC)) {



More information about the drbd-cvs mailing list