diff options
| author | Jeff Darcy <jdarcy@redhat.com> | 2014-01-14 17:00:14 +0000 |
|---|---|---|
| committer | Jeff Darcy <jdarcy@redhat.com> | 2014-01-14 17:00:14 +0000 |
| commit | 455791f265e6e581fa4ebddd5dc4642b2201f8ce (patch) | |
| tree | ebd5cad9534291822f8c47dbbc8162525f8fe92e /rpc/rpc-lib/src/rpc-clnt.c | |
| parent | 92eaa72ea4cd0d06c2161842c548008db0eee01c (diff) | |
| parent | 7d89ec77763dc5076379753c736f7fce2bedd9ec (diff) | |
Merge branch 'upstream' into merge
Diffstat (limited to 'rpc/rpc-lib/src/rpc-clnt.c')
| -rw-r--r-- | rpc/rpc-lib/src/rpc-clnt.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/rpc/rpc-lib/src/rpc-clnt.c b/rpc/rpc-lib/src/rpc-clnt.c index ac98a5c91..1e9f307be 100644 --- a/rpc/rpc-lib/src/rpc-clnt.c +++ b/rpc/rpc-lib/src/rpc-clnt.c @@ -416,7 +416,7 @@ rpc_clnt_reconnect (void *trans_ptr) conn->reconnect); conn->reconnect = 0; - if (conn->connected == 0) { + if ((conn->connected == 0) && !clnt->disabled) { ts.tv_sec = 3; ts.tv_nsec = 0; @@ -834,6 +834,7 @@ rpc_clnt_notify (rpc_transport_t *trans, void *mydata, rpc_request_info_t *req_info = NULL; rpc_transport_pollin_t *pollin = NULL; struct timespec ts = {0, }; + void *clnt_mydata = NULL; conn = mydata; if (conn == NULL) { @@ -870,6 +871,12 @@ rpc_clnt_notify (rpc_transport_t *trans, void *mydata, } case RPC_TRANSPORT_CLEANUP: + if (clnt->notifyfn) { + clnt_mydata = clnt->mydata; + clnt->mydata = NULL; + ret = clnt->notifyfn (clnt, clnt_mydata, + RPC_CLNT_DESTROY, NULL); + } rpc_clnt_destroy (clnt); ret = 0; break; |
