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);