X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FDaemonTools.hh;h=15e4e7d812dad7b393bde9837b36cf9412805649;hb=81ffa1c459b96dd44472bcef37e1e373934ee138;hp=5f2068239cace4d157a4ac36f3e14927aecc78b8;hpb=553781d9e9bce316dca24ac4f0c42e5613e849e0;p=senf.git diff --git a/Utils/DaemonTools.hh b/Utils/DaemonTools.hh index 5f20682..15e4e7d 100644 --- a/Utils/DaemonTools.hh +++ b/Utils/DaemonTools.hh @@ -25,19 +25,19 @@ This collection of utilities provides help in managing daemon processes. \idea Add communication between parent and child process to daemonize() and add things like - init_done(), failure() etc which allow the daemon process to tell the frontend of successful - startup or failure. This proabably means moving all the methods into a DaemonTools class (as - statics or via a singleton). This would also allow for automatic pid file creation and - removal (remove in global destructor). - - \idea Add a DaemonProcess baseclass whith init() and main() abstract members which wraps the - startup process. DaeminProcess::run() would fork, call init(), create a pid file and then - call main(). Exceptions during init()'s execution would be passed to the parent - process. This is based on the above API. - + init_done(), failure() etc which allow the daemon process to tell the frontend of successful + startup or failure. This probably means moving all the methods into a DaemonTools class (as + statics or via a singleton). This would also allow for automatic pid file creation and + removal (remove in global destructor). + + \idea Add a DaemonProcess baseclass with init() and main() abstract members which wraps the + startup process. DaeminProcess::run() would fork, call init(), create a pid file and then + call main(). Exceptions during init()'s execution would be passed to the parent + process. This is based on the above API. + \idea A closeall()/closemost() function which is useful when starting child processes. We'll use - getrlimit to now the biggest filehandle and close all of em. closemost() takes a number of - file handles as arg and will keep those open. + getrlimit to now the biggest filehandle and close all of em. closemost() takes a number of + file handles as arg and will keep those open. \idea We might want to add other oft used utitlities: chroot(), setreuid(), pipes() / IPC ... */ @@ -58,11 +58,11 @@ namespace senf { void daemonize(); ///< Make the current process a daemon process /**< daemonize() will fork, detach from the controlling - terminal and start a new process group. */ + terminal and start a new process group. */ void redirect_stdio(std::string const & path = "/dev/null"); ///< Redirect STDIN, STDOUT and STDERR /**< All standard file-descriptors will be redirected to the - given path defaulting to /dev/null - \param[in] path path to redirect to */ + given path defaulting to /dev/null + \param[in] path path to redirect to */ /// @} } @@ -77,6 +77,10 @@ namespace senf { // Local Variables: // mode: c++ -// c-file-style: "senf" // fill-column: 100 +// c-file-style: "senf" +// indent-tabs-mode: nil +// ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: