[libtirpc] catching network errors
if during recv we received an error, then propagate that to the caller. otherwise, do time out check. also do timeout check if the thread's xid didn't match received xid (making sure we'll timeout if we have a starving thread that will never receive a reply)
This commit is contained in:
parent
54c11cd84b
commit
bb8de9c266
2 changed files with 19 additions and 12 deletions
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
static enum clnt_stat send_null(CLIENT *client)
|
||||
{
|
||||
struct timeval timeout = {10, 0};
|
||||
struct timeval timeout = {10, 100};
|
||||
|
||||
return clnt_call(client, 0,
|
||||
(xdrproc_t)xdr_void, NULL,
|
||||
|
|
@ -337,7 +337,7 @@ int nfs41_send_compound(
|
|||
IN char *inbuf,
|
||||
OUT char *outbuf)
|
||||
{
|
||||
struct timeval timeout = {90, 0};
|
||||
struct timeval timeout = {90, 100};
|
||||
enum clnt_stat rpc_status;
|
||||
int status, count = 0, one = 1, zero = 0;
|
||||
uint32_t version;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue