aboutsummaryrefslogtreecommitdiff
path: root/nuttx/fs
diff options
context:
space:
mode:
authorpatacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679>2012-06-15 12:51:29 +0000
committerpatacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679>2012-06-15 12:51:29 +0000
commit6b2ab0da843d9f5f63a0f0928431cc97e0d2b776 (patch)
treeacd28bc1970ba294f3dc1001780d10f3068634f2 /nuttx/fs
parent03e8602c57985b44d4321a1f923dc4ed48bf9bd2 (diff)
downloadpx4-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.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;
}