]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: return instead of exit(3) via preforker
authorSage Weil <sage@inktank.com>
Thu, 30 May 2013 00:54:17 +0000 (17:54 -0700)
committerSage Weil <sage@inktank.com>
Sun, 2 Jun 2013 21:09:51 +0000 (14:09 -0700)
This lets us run all the locally-scoped dtors so that leak checking will
work.

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 3c5706163b72245768958155d767abf561e6d96d)

src/ceph_mon.cc
src/common/Preforker.h

index 541c239ef98f79ce5c8ba13d89122dafc8d59ae9..36f6c133cf090d3da5cfb20c0571f6d2b24fb3b7 100644 (file)
@@ -544,6 +544,6 @@ int main(int argc, const char **argv)
     dout(0) << "ceph-mon: gmon.out should be in " << s << dendl;
   }
 
-  prefork.exit(0);
+  return prefork.exit(0);
 }
 
index 07f21b45e46011d2c1904ae03013057bf18f01dd..6a8a504f6ee2f17ed0c1310604afb4930291c1c0 100644 (file)
@@ -75,12 +75,12 @@ public:
     return r;
   }
 
-  void exit(int r) {
+  int exit(int r) {
     if (forked) {
       // tell parent
       ::write(fd[1], &r, sizeof(r));
     }
-    ::exit(r);
+    return r;
   }
 
   void daemonize() {