summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-06-15 12:51:29 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-06-15 12:51:29 +0000
commit4a7c0a0fb167fd8d2d9279ffce620aa3e272fcc5 (patch)
treeacd28bc1970ba294f3dc1001780d10f3068634f2
parentcaab3934ab17cdd56e82e09d47eedeaf563f5a81 (diff)
downloadnuttx-4a7c0a0fb167fd8d2d9279ffce620aa3e272fcc5.tar.gz
nuttx-4a7c0a0fb167fd8d2d9279ffce620aa3e272fcc5.tar.bz2
nuttx-4a7c0a0fb167fd8d2d9279ffce620aa3e272fcc5.zip
NFS should fail if EINTR is received
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4846 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/fs/nfs/rpc_clnt.c14
1 files changed, 6 insertions, 8 deletions
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;
}