patch-2.2.8 linux/net/sunrpc/sched.c
Next file: linux/net/sunrpc/svcsock.c
Previous file: linux/net/irda/irproc.c
Back to the patch index
Back to the overall index
- Lines: 28
- Date:
Fri May 7 11:19:11 1999
- Orig file:
v2.2.7/linux/net/sunrpc/sched.c
- Orig date:
Wed Mar 10 15:29:53 1999
diff -u --recursive --new-file v2.2.7/linux/net/sunrpc/sched.c linux/net/sunrpc/sched.c
@@ -174,6 +174,7 @@
printk(KERN_ERR "RPC: task w/ running timer in rpc_make_runnable!!\n");
return;
}
+ task->tk_flags |= RPC_TASK_RUNNING;
if (RPC_IS_ASYNC(task)) {
int status;
status = rpc_add_wait_queue(&schedq, task);
@@ -186,7 +187,6 @@
} else {
wake_up(&task->tk_wait);
}
- task->tk_flags |= RPC_TASK_RUNNING;
}
@@ -447,7 +447,10 @@
task->tk_pid);
if (current->pid == rpciod_pid)
printk(KERN_ERR "RPC: rpciod waiting on sync task!\n");
- sleep_on(&task->tk_wait);
+
+ sti();
+ __wait_event(task->tk_wait, RPC_IS_RUNNING(task));
+ cli();
/*
* When the task received a signal, remove from
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)