浏览代码

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>
Trond Myklebust 17 年之前
父节点
当前提交
34f5b4662b
共有 1 个文件被更改,包括 6 次插入3 次删除
  1. 6 3
      net/sunrpc/clnt.c

+ 6 - 3
net/sunrpc/clnt.c

@@ -579,9 +579,12 @@ struct rpc_task *rpc_run_task(const struct rpc_task_setup *task_setup_data)
 	}
 	}
 	atomic_inc(&task->tk_count);
 	atomic_inc(&task->tk_count);
 	/* Mask signals on synchronous RPC calls and RPCSEC_GSS upcalls */
 	/* Mask signals on synchronous RPC calls and RPCSEC_GSS upcalls */
-	rpc_task_sigmask(task, &oldset);
-	rpc_execute(task);
-	rpc_restore_sigmask(&oldset);
+	if (!RPC_IS_ASYNC(task)) {
+		rpc_task_sigmask(task, &oldset);
+		rpc_execute(task);
+		rpc_restore_sigmask(&oldset);
+	} else
+		rpc_execute(task);
 	ret = task;
 	ret = task;
 out:
 out:
 	return ret;
 	return ret;