rpc_clnt_sigunmask(clnt, &oldset);  
rpc_call_async(struct rpc_clnt *clnt, struct rpc_message *msg, int flags,	       rpc_action callback, void *data){	struct rpc_task	*task;	sigset_t	oldset;	int		status;	/* If this client is slain all further I/O fails */	if (clnt->cl_dead) 		return -EIO;	flags |= RPC_TASK_ASYNC;	rpc_clnt_sigmask(clnt, &oldset);			/* Create/initialize a new RPC task */	if (!callback)		callback = rpc_default_callback;	status = -ENOMEM;	if (!(task = rpc_new_task(clnt, callback, flags)))		goto out;	task->tk_calldata = data;	rpc_call_setup(task, msg, 0);	/* Set up the call info struct and execute the task */	status = task->tk_status;	if (status == 0)		rpc_execute(task);	else		rpc_release_task(task);out:	rpc_clnt_sigunmask(clnt, &oldset);			return status;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/14b218a8e4f110206c46e586a3da372f665631e7/clnt.c/clean/net/sunrpc/clnt.c