[Ocfs2-commits] mfasheh commits r834 - trunk/src
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Fri Apr 2 12:54:32 CST 2004
Author: mfasheh
Date: 2004-04-02 12:54:30 -0600 (Fri, 02 Apr 2004)
New Revision: 834
Modified:
trunk/src/nm.c
Log:
* handle signals properly in volume_thread.
Modified: trunk/src/nm.c
===================================================================
--- trunk/src/nm.c 2004-04-01 20:33:38 UTC (rev 833)
+++ trunk/src/nm.c 2004-04-02 18:54:30 UTC (rev 834)
@@ -254,6 +254,7 @@
__u64 cfg_seq_num;
int which, pruned, prune_iters = 0;
struct buffer_head *bh = NULL;
+ siginfo_t info;
LOG_ENTRY ();
@@ -444,6 +445,24 @@
}
set_current_state (TASK_INTERRUPTIBLE);
schedule_timeout (osb->hbt - j);
+ /* this should all just be in some common function as
+ * it's totally duplicated. */
+ if (signal_pending(current)) {
+ /* ignore the actual signal */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
+ dequeue_signal_lock(urrent, ¤t->blocked, &info);
+#else
+#ifdef HAVE_NPTL
+ spin_lock_irq (¤t->sighand->siglock);
+ dequeue_signal(¤t->blocked, &info);
+ spin_unlock_irq(¤t->sighand->siglock);
+#else
+ spin_lock_irq(¤t->sigmask_lock);
+ dequeue_signal(¤t->blocked, &info);
+ spin_unlock_irq(¤t->sigmask_lock);
+#endif /* !HAVE_NPTL */
+#endif /* 2.4.x kernel */
+ }
}
/* Flush all scheduled tasks */
More information about the Ocfs2-commits
mailing list