_start is called right after the prefork(). _finish is called when we
do the logical daemonize() and say goodbye to the parent.
Fixes: http://tracker.ceph.com/issues/23143
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit
a350c8032af41452b8f9a200f86e7f0dc0db7345)
cerr << err << std::endl;
return r;
}
-
if (forker.is_parent()) {
- global_init_postfork_start(g_ceph_context);
if (forker.parent_wait(err) != 0) {
return -ENXIO;
}
return 0;
}
+ global_init_postfork_start(g_ceph_context);
}
common_init_finish(g_ceph_context);
cout << cfg->devpath << std::endl;
if (g_conf->daemonize) {
- forker.daemonize();
- global_init_postfork_start(g_ceph_context);
global_init_postfork_finish(g_ceph_context);
+ forker.daemonize();
}
{