Loading sld/trunk/TODO +1 −0 Original line number Diff line number Diff line Loading @@ -3,5 +3,6 @@ remove static magic MAX_LINE_SIZE in sscanf Print start date and stop date in log file effacer les scripts avant de quitter Ajout une fonction qui delete un script ajouter la commande ping/pong BUG: sld/trunk/src/daemon.cc +10 −2 Original line number Diff line number Diff line Loading @@ -102,7 +102,7 @@ void SLDaemon::run() { catch (const Error &e) { if (e.code() != ERR_NET) throw; if (verbose()) if (verbose()) // TODO: Print the time at lost logerr << "Connexion lost. Retrying in " << options.retrydelay << " seconds.\n"; fclose(socket_fs_); socket_fs_ = 0; Loading Loading @@ -159,6 +159,7 @@ void SLDaemon::disconnect() { return; if (fclose(socket_fs_)) throw Error(ERR_NET, strerror(errno)); // TODO: print close time if (verbose()) logout << "Connection closed.\n"; socket_fs_ = 0; Loading Loading @@ -275,7 +276,8 @@ void SLDaemon::auth() { //****************************************************************************** void SLDaemon::cmd_exit() { sendln("Bye."); //TODO: print date sendln("EXIT: "); disconnect(); exit(ERR_OK); } Loading Loading @@ -697,3 +699,9 @@ void sigchild(int) { } } } void sigint(int i) { logerr << "Signal " << i << " catched.\n"; SLDaemon::Instance().disconnect(); exit(ERR_SIGNAL); } sld/trunk/src/daemon.hh +1 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ public: // friends functions friend void sigchild(int); friend void sigint(int); protected: Loading sld/trunk/src/log.cc +1 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ bool Logger::file(const string &filename) { logfile_.close(); // open logfile_.open(filename.c_str()); logfile_.open(filename.c_str(), std::fstream::app); return logfile_.is_open(); } Loading sld/trunk/src/sld.cc +37 −5 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ #include "sld.hh" static Options get_default_options(); static bool register_signals(); /*! ** Program entry point Loading Loading @@ -52,11 +53,9 @@ int main(int argc, char *argv[]) logerr.file(daemon.options.logfile); } // register sigchild handler if (signal(SIGCHLD, sigchild) == SIG_ERR) { logerr << "sld: error: " << strerror(errno) << ".\n"; return ERR_UNKNOWN; } if (!register_signals()) return ERR_SIGNAL; // Switch in daemon mode if (daemon.options.daemon == 1) Loading Loading @@ -92,6 +91,39 @@ int main(int argc, char *argv[]) return ERR_UNKNOWN; } /*! ** Register signals ** ** @return success status */ static bool register_signals() { // register sigchild handler if (signal(SIGCHLD, sigchild) == SIG_ERR) { logerr << "sld: error: " << strerror(errno) << ".\n"; return false; } // register sigint handler if (signal(SIGINT, sigint) == SIG_ERR) { logerr << "sld: error: " << strerror(errno) << ".\n"; return false; } // register sigkill handler if (signal(SIGTERM, sigint) == SIG_ERR) { logerr << "sld: error: " << strerror(errno) << ".\n"; return false; } // register sigkill handler if (signal(SIGHUP, sigint) == SIG_ERR) { logerr << "sld: error: " << strerror(errno) << ".\n"; return false; } return true; } /*! ** Set default options ** Loading Loading
sld/trunk/TODO +1 −0 Original line number Diff line number Diff line Loading @@ -3,5 +3,6 @@ remove static magic MAX_LINE_SIZE in sscanf Print start date and stop date in log file effacer les scripts avant de quitter Ajout une fonction qui delete un script ajouter la commande ping/pong BUG:
sld/trunk/src/daemon.cc +10 −2 Original line number Diff line number Diff line Loading @@ -102,7 +102,7 @@ void SLDaemon::run() { catch (const Error &e) { if (e.code() != ERR_NET) throw; if (verbose()) if (verbose()) // TODO: Print the time at lost logerr << "Connexion lost. Retrying in " << options.retrydelay << " seconds.\n"; fclose(socket_fs_); socket_fs_ = 0; Loading Loading @@ -159,6 +159,7 @@ void SLDaemon::disconnect() { return; if (fclose(socket_fs_)) throw Error(ERR_NET, strerror(errno)); // TODO: print close time if (verbose()) logout << "Connection closed.\n"; socket_fs_ = 0; Loading Loading @@ -275,7 +276,8 @@ void SLDaemon::auth() { //****************************************************************************** void SLDaemon::cmd_exit() { sendln("Bye."); //TODO: print date sendln("EXIT: "); disconnect(); exit(ERR_OK); } Loading Loading @@ -697,3 +699,9 @@ void sigchild(int) { } } } void sigint(int i) { logerr << "Signal " << i << " catched.\n"; SLDaemon::Instance().disconnect(); exit(ERR_SIGNAL); }
sld/trunk/src/daemon.hh +1 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ public: // friends functions friend void sigchild(int); friend void sigint(int); protected: Loading
sld/trunk/src/log.cc +1 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ bool Logger::file(const string &filename) { logfile_.close(); // open logfile_.open(filename.c_str()); logfile_.open(filename.c_str(), std::fstream::app); return logfile_.is_open(); } Loading
sld/trunk/src/sld.cc +37 −5 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ #include "sld.hh" static Options get_default_options(); static bool register_signals(); /*! ** Program entry point Loading Loading @@ -52,11 +53,9 @@ int main(int argc, char *argv[]) logerr.file(daemon.options.logfile); } // register sigchild handler if (signal(SIGCHLD, sigchild) == SIG_ERR) { logerr << "sld: error: " << strerror(errno) << ".\n"; return ERR_UNKNOWN; } if (!register_signals()) return ERR_SIGNAL; // Switch in daemon mode if (daemon.options.daemon == 1) Loading Loading @@ -92,6 +91,39 @@ int main(int argc, char *argv[]) return ERR_UNKNOWN; } /*! ** Register signals ** ** @return success status */ static bool register_signals() { // register sigchild handler if (signal(SIGCHLD, sigchild) == SIG_ERR) { logerr << "sld: error: " << strerror(errno) << ".\n"; return false; } // register sigint handler if (signal(SIGINT, sigint) == SIG_ERR) { logerr << "sld: error: " << strerror(errno) << ".\n"; return false; } // register sigkill handler if (signal(SIGTERM, sigint) == SIG_ERR) { logerr << "sld: error: " << strerror(errno) << ".\n"; return false; } // register sigkill handler if (signal(SIGHUP, sigint) == SIG_ERR) { logerr << "sld: error: " << strerror(errno) << ".\n"; return false; } return true; } /*! ** Set default options ** Loading