From 6b2ab0da843d9f5f63a0f0928431cc97e0d2b776 Mon Sep 17 00:00:00 2001 From: patacongo Date: Fri, 15 Jun 2012 12:51:29 +0000 Subject: NFS should fail if EINTR is received git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4846 7fd9a85b-ad96-42d3-883c-3090e2eb8679 --- nuttx/fs/nfs/rpc_clnt.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'nuttx/fs') diff --git a/nuttx/fs/nfs/rpc_clnt.c b/nuttx/fs/nfs/rpc_clnt.c index ed9550f20..a530c6c02 100644 --- a/nuttx/fs/nfs/rpc_clnt.c +++ b/nuttx/fs/nfs/rpc_clnt.c @@ -157,9 +157,7 @@ static void rpcclnt_fmtheader(FAR struct rpc_call_header *ch, * This is the nfs send routine. * * Returned Value: - * Returns EINTR if the RPC is terminated, 0 otherwise - set - * RPCCALL_MUSTRESEND if the send fails for any reason - do anycleanup - * required by recoverable socket errors. * + * Returns zero on success or a (positive) errno value on failure. * ****************************************************************************/ @@ -256,25 +254,25 @@ static int rpcclnt_reply(FAR struct rpcclnt *rpc, int procid, int prog, * message again. */ - if (error == EAGAIN || error == ETIMEDOUT || error == EINTR) + if (error == EAGAIN || error == ETIMEDOUT) { rpc->rc_callflags |= RPCCALL_MUSTRESEND; } - return error; + return error; } /* Get the xid and check that it is an RPC replysvr */ replyheader = (FAR struct rpc_reply_header *)reply; - rxid = replyheader->rp_xid; + rxid = replyheader->rp_xid; if (replyheader->rp_direction != rpc_reply) { - rpc_statistics(rpcinvalid); fdbg("ERROR: Different RPC REPLY returned\n"); + rpc_statistics(rpcinvalid); rpc->rc_callflags |= RPCCALL_MUSTRESEND; - error = EAGAIN; + error = EPROTO; return error; } -- cgit v1.2.3