diff options
Diffstat (limited to 'rpc/rpc-lib/src/rpc-clnt-ping.c')
-rw-r--r-- | rpc/rpc-lib/src/rpc-clnt-ping.c | 9 |
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; |