diff options
Diffstat (limited to 'rpc/rpc-lib/src/rpc-clnt.c')
| -rw-r--r-- | rpc/rpc-lib/src/rpc-clnt.c | 21 | 
1 files changed, 13 insertions, 8 deletions
diff --git a/rpc/rpc-lib/src/rpc-clnt.c b/rpc/rpc-lib/src/rpc-clnt.c index f25a4b0ad..d49667321 100644 --- a/rpc/rpc-lib/src/rpc-clnt.c +++ b/rpc/rpc-lib/src/rpc-clnt.c @@ -307,11 +307,13 @@ __saved_frame_get (struct saved_frames *frames, int64_t callid)  	return saved_frame;  } +  void  saved_frames_unwind (struct saved_frames *saved_frames)  {  	struct saved_frame   *trav = NULL;  	struct saved_frame   *tmp = NULL; +        struct mem_pool      *saved_frames_pool = NULL;          struct tm            *frame_sent_tm = NULL;          char                 timestr[256] = {0,}; @@ -329,22 +331,25 @@ saved_frames_unwind (struct saved_frames *saved_frames)                          continue;                  gf_log_callingfn ("rpc-clnt", GF_LOG_ERROR, -                        "forced unwinding frame type(%s) op(%s(%d)) " -                        "called at %s", -                        trav->rpcreq->prog->progname, -                        (trav->rpcreq->prog->procnames) ? -                        trav->rpcreq->prog->procnames[trav->rpcreq->procnum] -                        : "--", -                        trav->rpcreq->procnum, timestr); +                                  "forced unwinding frame type(%s) op(%s(%d)) " +                                  "called at %s", +                                  trav->rpcreq->prog->progname, +                                  (trav->rpcreq->prog->procnames) ? +                                  trav->rpcreq->prog->procnames[trav->rpcreq->procnum] +                                  : "--", +                                  trav->rpcreq->procnum, timestr);  		saved_frames->count--;                  trav->rpcreq->rpc_status = -1;                  trav->rpcreq->cbkfn (trav->rpcreq, &iov, 1, trav->frame); + +                saved_frames_pool +                        = trav->rpcreq->conn->rpc_clnt->saved_frames_pool;                  rpc_clnt_reply_deinit (trav->rpcreq,                                         trav->rpcreq->conn->rpc_clnt->reqpool);  		list_del_init (&trav->list); -                mem_put (trav->rpcreq->conn->rpc_clnt->saved_frames_pool, trav); +                mem_put (saved_frames_pool, trav);  	}  }  | 
