diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-01-15 14:17:11 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-01-30 02:06:10 -0500 |
commit | 34f5b4662bf4b54f22b32ce76ce70eccd7ebc68a (patch) | |
tree | 0c79a6f5579244f56c4c9eb1d9e686f29e6c3c67 /net | |
parent | afc881124b8aff83c7a28269ef9d9cfce543256c (diff) |
SUNRPC: Don't bother changing the sigmask for asynchronous RPC calls
The caller will never sleep in rpc_execute, so don't bother setting the
sigmask.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/clnt.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index e775ca793249..924916ceaa43 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c | |||
@@ -579,9 +579,12 @@ struct rpc_task *rpc_run_task(const struct rpc_task_setup *task_setup_data) | |||
579 | } | 579 | } |
580 | atomic_inc(&task->tk_count); | 580 | atomic_inc(&task->tk_count); |
581 | /* Mask signals on synchronous RPC calls and RPCSEC_GSS upcalls */ | 581 | /* Mask signals on synchronous RPC calls and RPCSEC_GSS upcalls */ |
582 | rpc_task_sigmask(task, &oldset); | 582 | if (!RPC_IS_ASYNC(task)) { |
583 | rpc_execute(task); | 583 | rpc_task_sigmask(task, &oldset); |
584 | rpc_restore_sigmask(&oldset); | 584 | rpc_execute(task); |
585 | rpc_restore_sigmask(&oldset); | ||
586 | } else | ||
587 | rpc_execute(task); | ||
585 | ret = task; | 588 | ret = task; |
586 | out: | 589 | out: |
587 | return ret; | 590 | return ret; |