patch-2.1.117 linux/net/sunrpc/sched.c
Next file: linux/net/sunrpc/sunrpc_syms.c
Previous file: linux/net/sunrpc/clnt.c
Back to the patch index
Back to the overall index
- Lines: 37
- Date:
Wed Aug 19 16:16:04 1998
- Orig file:
v2.1.116/linux/net/sunrpc/sched.c
- Orig date:
Tue Aug 18 22:02:08 1998
diff -u --recursive --new-file v2.1.116/linux/net/sunrpc/sched.c linux/net/sunrpc/sched.c
@@ -352,6 +352,7 @@
/*
* This is the RPC `scheduler' (or rather, the finite state machine).
*/
+
static int
__rpc_execute(struct rpc_task *task)
{
@@ -415,10 +416,16 @@
printk("RPC: rpciod waiting on sync task!\n");
current->timeout = 0;
sleep_on(&task->tk_wait);
-
+
/* When the task received a signal, remove from
- * any queues etc, and make runnable again. */
- if (0 && signalled())
+ * any queues etc, and make runnable again.
+ *
+ * The "intr" property isnt handled here. rpc_do_call
+ * has changed the signal mask of the process for
+ * a synchronous rpc call. If a signal gets through
+ * this then its real.
+ */
+ if (signalled())
__rpc_wake_up(task);
dprintk("RPC: %4d sync task resuming\n",
@@ -432,7 +439,7 @@
* clean up after sleeping on some queue, we don't
* break the loop here, but go around once more.
*/
- if (0 && !RPC_IS_ASYNC(task) && signalled()) {
+ if (!RPC_IS_ASYNC(task) && signalled()) {
dprintk("RPC: %4d got signal\n", task->tk_pid);
rpc_exit(task, -ERESTARTSYS);
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov