[DRBD-cvs] drbd by lars; asender needs to be interruptible in drb...
drbd-user@lists.linbit.com
drbd-user@lists.linbit.com
Sun, 16 May 2004 16:57:11 +0200 (CEST)
DRBD CVS committal
Author : lars
Module : drbd
Dir : drbd/drbd
Modified Files:
Tag: rel-0_7-branch
drbd_receiver.c
Log Message:
asender needs to be interruptible in drbd_process_ee :(
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_receiver.c,v
retrieving revision 1.97.2.154
retrieving revision 1.97.2.155
diff -u -3 -r1.97.2.154 -r1.97.2.155
--- drbd_receiver.c 12 May 2004 10:00:47 -0000 1.97.2.154
+++ drbd_receiver.c 16 May 2004 14:57:05 -0000 1.97.2.155
@@ -1791,9 +1791,17 @@
mdev->conf.timeout*HZ/20;
}
+ /* FIXME this *should* be below drbd_process_ee,
+ * but that leads to some distributed deadlock :-(
+ * this needs to be fixed properly, I'd vote for a separate
+ * msock sender thread, but others will frown upon yet an other
+ * kernel thread...
+ * -- lge
+ */
+ set_bit(SIGNAL_ASENDER, &mdev->flags);
+
if (!drbd_process_ee(mdev,&mdev->done_ee)) goto err;
- set_bit(SIGNAL_ASENDER, &mdev->flags);
rv = drbd_recv_short(mdev,buf,expect-received);
clear_bit(SIGNAL_ASENDER, &mdev->flags);