diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-06-15 12:51:29 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-06-15 12:51:29 +0000 |
commit | 4a7c0a0fb167fd8d2d9279ffce620aa3e272fcc5 (patch) | |
tree | acd28bc1970ba294f3dc1001780d10f3068634f2 /nuttx/fs/nfs/rpc_clnt.c | |
parent | caab3934ab17cdd56e82e09d47eedeaf563f5a81 (diff) | |
download | px4-nuttx-4a7c0a0fb167fd8d2d9279ffce620aa3e272fcc5.tar.gz px4-nuttx-4a7c0a0fb167fd8d2d9279ffce620aa3e272fcc5.tar.bz2 px4-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
Diffstat (limited to 'nuttx/fs/nfs/rpc_clnt.c')
-rw-r--r-- | nuttx/fs/nfs/rpc_clnt.c | 14 |
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; } |