X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=nfs3%2Frpc.c;h=7b73840c62349c046ab77d67cee02f65651353c4;hb=3c5c5e9b5a8650e0549712e20e007ba2399656bf;hp=ae39154f3897a2dfe0fa6d2677fbb436f934989a;hpb=1f1a8707d75f7906036e663e26d7b6910ef9d9d3;p=bluesky.git diff --git a/nfs3/rpc.c b/nfs3/rpc.c index ae39154..7b73840 100644 --- a/nfs3/rpc.c +++ b/nfs3/rpc.c @@ -212,6 +212,13 @@ async_rpc_send_failure(RPCRequest *req, enum accept_stat stat) if (req->raw_args != NULL) g_string_free(req->raw_args, TRUE); + while (req->cleanup != NULL) { + struct cleanup_list *c = req->cleanup; + req->cleanup = c->next; + c->func(c->arg); + g_free(c); + } + g_free(req); } @@ -264,6 +271,13 @@ async_rpc_send_reply(RPCRequest *req, void *result) if (req->raw_args != NULL) g_string_free(req->raw_args, TRUE); + while (req->cleanup != NULL) { + struct cleanup_list *c = req->cleanup; + req->cleanup = c->next; + c->func(c->arg); + g_free(c); + } + g_free(req); }