Esempio n. 1
0
/*
 * Restart an (async) RPC call. Usually called from within the
 * exit handler.
 */
void
rpc_restart_call(struct rpc_task *task)
{
	if (RPC_ASSASSINATED(task))
		return;

	task->tk_action = call_reserve;
	rpcproc_count(task->tk_client, task->tk_msg.rpc_proc)++;
}
Esempio n. 2
0
/*
 * Restart an (async) RPC call. Usually called from within the
 * exit handler.
 */
void
rpc_restart_call(struct rpc_task *task)
{
	if (task->tk_flags & RPC_TASK_KILLED) {
		rpc_release_task(task);
		return;
	}
	task->tk_action = call_bind;
	rpcproc_count(task->tk_client, task->tk_proc)++;
}
Esempio n. 3
0
void
rpc_call_setup(struct rpc_task *task, u32 proc,
				void *argp, void *resp, int flags)
{
	task->tk_action = call_bind;
	task->tk_proc   = proc;
	task->tk_argp   = argp;
	task->tk_resp   = resp;
	task->tk_flags |= flags;

	/* Increment call count */
	rpcproc_count(task->tk_client, proc)++;
}
Esempio n. 4
0
void
rpc_call_setup(struct rpc_task *task, struct rpc_message *msg, int flags)
{
	task->tk_msg   = *msg;
	task->tk_flags |= flags;
	/* Bind the user cred */
	if (task->tk_msg.rpc_cred != NULL) {
		rpcauth_holdcred(task);
	} else
		rpcauth_bindcred(task);

	if (task->tk_status == 0)
		task->tk_action = call_reserve;
	else
		task->tk_action = NULL;

	/* Increment call count */
	if (task->tk_msg.rpc_proc < task->tk_client->cl_maxproc)
		rpcproc_count(task->tk_client, task->tk_msg.rpc_proc)++;
}