diff options
author | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2012-06-15 12:51:29 +0000 |
---|---|---|
committer | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2012-06-15 12:51:29 +0000 |
commit | 6b2ab0da843d9f5f63a0f0928431cc97e0d2b776 (patch) | |
tree | acd28bc1970ba294f3dc1001780d10f3068634f2 /nuttx/fs | |
parent | 03e8602c57985b44d4321a1f923dc4ed48bf9bd2 (diff) | |
download | px4-firmware-6b2ab0da843d9f5f63a0f0928431cc97e0d2b776.tar.gz px4-firmware-6b2ab0da843d9f5f63a0f0928431cc97e0d2b776.tar.bz2 px4-firmware-6b2ab0da843d9f5f63a0f0928431cc97e0d2b776.zip |
NFS should fail if EINTR is received
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4846 7fd9a85b-ad96-42d3-883c-3090e2eb8679
Diffstat (limited to 'nuttx/fs')
-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; } |