summaryrefslogtreecommitdiffstats
path: root/rpc/rpc-lib/src/rpc-clnt-ping.c
diff options
context:
space:
mode:
Diffstat (limited to 'rpc/rpc-lib/src/rpc-clnt-ping.c')
-rw-r--r--rpc/rpc-lib/src/rpc-clnt-ping.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/rpc/rpc-lib/src/rpc-clnt-ping.c b/rpc/rpc-lib/src/rpc-clnt-ping.c
index 948a244838e..21de9da4c1a 100644
--- a/rpc/rpc-lib/src/rpc-clnt-ping.c
+++ b/rpc/rpc-lib/src/rpc-clnt-ping.c
@@ -189,7 +189,9 @@ rpc_clnt_ping (struct rpc_clnt *rpc)
{
call_frame_t *frame = NULL;
int32_t ret = -1;
+ rpc_clnt_connection_t *conn = NULL;
+ conn = &rpc->conn;
frame = create_frame (THIS, THIS->ctx->pool);
if (!frame)
goto fail;
@@ -203,6 +205,13 @@ rpc_clnt_ping (struct rpc_clnt *rpc)
gf_log (THIS->name, GF_LOG_ERROR,
"failed to start ping timer");
}
+ else {
+ /* ping successfully queued in list of saved frames
+ * for the connection*/
+ pthread_mutex_lock (&conn->lock);
+ conn->pingcnt++;
+ pthread_mutex_unlock (&conn->lock);
+ }
return ret;