Skip to content

Commit 80d65d1

Browse files
committed
main: Install signal handler for SIGINT, SIGQUIT and SIGTERM
1 parent dfdd434 commit 80d65d1

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

service/src/main.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44

55
GMainLoop *gmainLoop;
66

7+
void signal_handler(int signum)
8+
{
9+
INFO("SIGNAL=%d detected, stopping...", signum);
10+
g_main_loop_quit(gmainLoop);
11+
}
12+
713
int main()
814
{
915
service_t service = {0};
@@ -20,6 +26,11 @@ int main()
2026
log_set_level(Debug);
2127
LSErrorInit(&lserror);
2228

29+
// Register exit signal handler
30+
signal(SIGINT, signal_handler);
31+
signal(SIGQUIT, signal_handler);
32+
signal(SIGTERM, signal_handler);
33+
2334
// create a GMainLoop
2435
gmainLoop = g_main_loop_new(NULL, FALSE);
2536

0 commit comments

Comments
 (0)