From: huanwen ren Date: Thu, 28 Apr 2016 07:22:48 +0000 (+0800) Subject: client/fuse: object release order error X-Git-Tag: v11.0.0~315^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=30877746f93c611fa394a7da6209a01ccc3cdd22;p=ceph.git client/fuse: object release order error object release order error,fix up state: (1)out_mc_start_failed should not be released Messenger object (2)out_messenger_start_failed need release the Cfuse object Signed-off-by: huanwen ren --- diff --git a/src/ceph_fuse.cc b/src/ceph_fuse.cc index a6824481ec97..fe7a6c032947 100644 --- a/src/ceph_fuse.cc +++ b/src/ceph_fuse.cc @@ -264,11 +264,7 @@ int main(int argc, const char **argv, const char *envp[]) { out_client_unmount: client->unmount(); - //cout << "unmounted" << std::endl; - cfuse->finalize(); - delete cfuse; - out_shutdown: client->shutdown(); out_init_failed: @@ -279,7 +275,9 @@ int main(int argc, const char **argv, const char *envp[]) { messenger->shutdown(); messenger->wait(); out_messenger_start_failed: + delete cfuse; delete client; + delete messenger; out_mc_start_failed: if (g_conf->daemonize) { @@ -288,7 +286,6 @@ int main(int argc, const char **argv, const char *envp[]) { foo += ::write(fd[1], &r, sizeof(r)); } - delete messenger; g_ceph_context->put(); free(newargv);