11 l7ag_subagent *subagent;
17 handler_sig_exit(int sig)
23 * setup signal handler
26 set_sighandler(int sig, void (*handler)(int))
31 ret = sigaction(sig, NULL, &act);
35 act.sa_flags &= ~SA_RESETHAND;
36 act.sa_handler = handler;
37 ret = sigaction(sig, &act, NULL);
45 *esetup all signal handlers
51 if (LOG_LV_DEBUG == logger.getLogLevel(l7vs::LOG_CAT_SNMPAGENT_START_STOP)) {
52 std::string debugstr("in_function set_sighandler()");
53 logger.putLogDebug(l7vs::LOG_CAT_SNMPAGENT_START_STOP, 0, debugstr, __FILE__, __LINE__);
58 #define SET_SIGHANDLER(sig, handler) \
60 ret = set_sighandler((sig), (handler)); \
62 if (LOG_LV_DEBUG == logger.getLogLevel(l7vs::LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL)) { \
63 std::ostringstream str; \
64 str << "out_function: static int set_sighandlers(void) return_value: " << ret; \
65 logger.putLogDebug(l7vs::LOG_CAT_SNMPAGENT_SYSTEM_SIGNAL, 0, str.str(), __FILE__, __LINE__ ); \
71 SET_SIGHANDLER(SIGHUP, handler_sig_exit);
72 SET_SIGHANDLER(SIGINT, handler_sig_exit);
73 SET_SIGHANDLER(SIGQUIT, handler_sig_exit);
74 SET_SIGHANDLER(SIGTERM, handler_sig_exit);
75 SET_SIGHANDLER(SIGUSR1, SIG_IGN);
76 SET_SIGHANDLER(SIGUSR2, SIG_IGN);
77 SET_SIGHANDLER(SIGALRM, SIG_IGN);
78 SET_SIGHANDLER(SIGCHLD, SIG_IGN);
82 if (LOG_LV_DEBUG == logger.getLogLevel(l7vs::LOG_CAT_SNMPAGENT_START_STOP)) {
83 std::string debugstr("out_function set_sighandler()");
84 logger.putLogDebug(l7vs::LOG_CAT_SNMPAGENT_START_STOP, 0, debugstr, __FILE__, __LINE__);
91 * @param[in] argc number of argument
92 * @param[in] argv array of argument
95 main(int argc, char *argv[])
98 logger.putLogInfo(l7vs::LOG_CAT_SNMPAGENT_START_STOP, 0, "start l7snmpagent", __FILE__, __LINE__);
100 if (LOG_LV_DEBUG == logger.getLogLevel(l7vs::LOG_CAT_SNMPAGENT_START_STOP)) {
101 std::string debugstr;
103 logger.putLogDebug(l7vs::LOG_CAT_SNMPAGENT_START_STOP, 0, debugstr, __FILE__, __LINE__);
108 // TODO whats this comment?
109 // parameter_register_function_pointer();
111 subagent = new l7ag_subagent();
114 if (!subagent->start()) {
118 logger.putLogInfo(l7vs::LOG_CAT_SNMPAGENT_START_STOP, 0, "stop l7snmpagent", __FILE__, __LINE__);
125 // TODO remove unit test code!!!
127 l7snmp_main(int argc, char *argv[])
129 return main(argc, argv);