[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)) {