};
-static EventLoop *g_loop;
+static EventLoop g_loop;
static void signal_handler(int sig)
{
if (sig == SIGTERM) {
// shut down
- g_loop->stop();
+ g_loop.stop();
// reaset signal
signal(SIGTERM, SIG_DFL);
}
}
-static void signals_setup(EventLoop *loop)
+static void signals_setup()
{
- g_loop = loop;
-
signal(SIGTERM, signal_handler);
signal(SIGHUP, signal_handler);
}
{
signal(SIGHUP, SIG_DFL);
signal(SIGINT, SIG_DFL);
-
- g_loop = nullptr;
}
static void do_main()
{
- EventLoop::RecvData recv_data(nullptr, recv_handler, AUXD::ID_CNT);
- EventLoop event_loop;
-
- signals_setup(&event_loop);
- event_loop.init(SOCKET_PATH);
+ g_loop.init(SOCKET_PATH);
+ signals_setup();
sd_notify(0, "READY=1");
- event_loop.run(recv_data, CONNECT_TIMEOUT);
+ EventLoop::RecvData recv_data(nullptr, recv_handler, AUXD::ID_CNT);
+ g_loop.run(recv_data, CONNECT_TIMEOUT);
sd_notify(0, "STOPPING=1");
- event_loop.uninit();
signals_reset();
+ g_loop.uninit();
}