diff options
author | Pranith Kumar K <pranithk@gluster.com> | 2012-03-18 13:49:07 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-03-18 01:40:33 -0700 |
commit | e6753927338a12175f3a87fd4349d41847b8d2aa (patch) | |
tree | 1dce960428294361d1b9ed81fe3528dfadc60ddf | |
parent | 7fdd830431614231e0372faaff33359932b9631a (diff) |
rpc: cancel reconnect timer in rpc_clnt_disable
When the graph is considered no longer needed, rpc_clnt_disable
is called, which disconnects the connection to server but the
reconnect timer is not cancelled in that function, so it is
reconnecting to the server before the grace-time-period.
The locks of the disabled graph are still there on the server
which are leading to hangs.
Change-Id: I8d37f1296370e37117005137a0a430e636da4d2e
BUG: 803209
Signed-off-by: Pranith Kumar K <pranithk@gluster.com>
Reviewed-on: http://review.gluster.com/2967
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
-rw-r--r-- | rpc/rpc-lib/src/rpc-clnt.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/rpc/rpc-lib/src/rpc-clnt.c b/rpc/rpc-lib/src/rpc-clnt.c index 01a1c24e7..5867c322b 100644 --- a/rpc/rpc-lib/src/rpc-clnt.c +++ b/rpc/rpc-lib/src/rpc-clnt.c @@ -1628,6 +1628,10 @@ rpc_clnt_disable (struct rpc_clnt *rpc) conn->timer = NULL; } + if (conn->reconnect) { + gf_timer_call_cancel (rpc->ctx, conn->reconnect); + conn->reconnect = NULL; + } conn->connected = 0; if (conn->ping_timer) { |