[DRBD-cvs] drbd by phil; Ok, this was a pure SMP bug!. The functi...

drbd-user@lists.linbit.com drbd-user@lists.linbit.com
Sat, 6 Mar 2004 17:26:30 +0100 (CET)


DRBD CVS committal

Author  : phil
Module  : drbd

Dir     : drbd/drbd


Modified Files:
      Tag: rel-0_7-branch
	drbd_receiver.c 


Log Message:
Ok, this was a pure SMP bug!. The function eventually returned without
lock, while the lock was held when the function was called. - Bad. 
Fixed.

===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_receiver.c,v
retrieving revision 1.97.2.117
retrieving revision 1.97.2.118
diff -u -3 -r1.97.2.117 -r1.97.2.118
--- drbd_receiver.c	6 Mar 2004 13:28:13 -0000	1.97.2.117
+++ drbd_receiver.c	6 Mar 2004 16:26:25 -0000	1.97.2.118
@@ -324,8 +324,8 @@
 	while( test_and_set_bit(PROCESS_EE_RUNNING,&mdev->flags) ) {
 		spin_unlock_irq(&mdev->ee_lock);
 		interruptible_sleep_on(&mdev->ee_wait);
-		if(signal_pending(current)) return 2;
 		spin_lock_irq(&mdev->ee_lock);
+		if(signal_pending(current)) return 2;
 	}
 
 	while(!list_empty(head)) {