Skip to content

Commit 6c00bb6

Browse files
Use g_unix_signal_add instead of sigaction (#177)
Co-authored-by: Isak Jakobsson <isakj@axis.com>
1 parent dc6cf49 commit 6c00bb6

File tree

1 file changed

+6
-12
lines changed

1 file changed

+6
-12
lines changed

app/dockerdwrapperwithcompose.c

+6-12
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
#include <arpa/inet.h>
2525
#include <axsdk/axparameter.h>
2626
#include <errno.h>
27+
#include <glib-unix.h>
2728
#include <glib.h>
2829
#include <mntent.h>
2930
#include <netdb.h>
@@ -176,28 +177,21 @@ static bool prevent_others_from_using_our_ipc_socket(void) {
176177
*
177178
* @param signal_num Signal number.
178179
*/
179-
static void handle_signals(__attribute__((unused)) int signal_num) {
180-
switch (signal_num) {
180+
static gboolean handle_signals(gpointer signal_num) {
181+
switch (GPOINTER_TO_INT(signal_num)) {
181182
case SIGINT:
182183
case SIGTERM:
183-
case SIGQUIT:
184184
quit_program(EX_OK);
185185
}
186+
return G_SOURCE_REMOVE;
186187
}
187188

188189
/**
189190
* @brief Initialize signals
190191
*/
191192
static void init_signals(void) {
192-
struct sigaction sa;
193-
194-
sa.sa_flags = 0;
195-
196-
sigemptyset(&sa.sa_mask);
197-
sa.sa_handler = handle_signals;
198-
sigaction(SIGINT, &sa, NULL);
199-
sigaction(SIGTERM, &sa, NULL);
200-
sigaction(SIGQUIT, &sa, NULL);
193+
g_unix_signal_add(SIGINT, handle_signals, GINT_TO_POINTER(SIGINT));
194+
g_unix_signal_add(SIGTERM, handle_signals, GINT_TO_POINTER(SIGTERM));
201195
}
202196

203197
/**

0 commit comments

Comments
 (0)