diff options
author | Dan Winship <danw@redhat.com> | 2015-01-12 11:31:10 -0500 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2015-06-20 10:48:21 +0200 |
commit | 4213815d6b217b13ebbea57b3ed431c680ca0157 (patch) | |
tree | 1d095d891efffe9c54c22a36b03c84274b20ad17 | |
parent | 265b1d2b2a9fbc34c09ee84e7015d18a7dab3cc3 (diff) |
core: use GUnixSignalWatchSource to simplify signal handling
Replace the pthread_sigwait()-based signal handling with
g_unix_signal_add()-based handling, and get rid of all the
now-unnecessary calls to nm_unblock_posix_signals() when spawning
subprocesses.
As a bonus, this also fixes the "^C in gdb kills NM too" bug.
(cherry picked from commit c5b3e93792ed4feadf9bf50c43bc6d0c3739c354)
-rw-r--r-- | src/Makefile.am | 4 | ||||
-rw-r--r-- | src/NetworkManagerUtils.c | 3 | ||||
-rw-r--r-- | src/devices/nm-device.c | 12 | ||||
-rw-r--r-- | src/devices/team/nm-device-team.c | 9 | ||||
-rw-r--r-- | src/dhcp-manager/nm-dhcp-dhclient.c | 7 | ||||
-rw-r--r-- | src/dhcp-manager/nm-dhcp-dhcpcd.c | 7 | ||||
-rw-r--r-- | src/dns-manager/nm-dns-manager.c | 7 | ||||
-rw-r--r-- | src/dns-manager/nm-dns-plugin.c | 7 | ||||
-rw-r--r-- | src/dnsmasq-manager/nm-dnsmasq-manager.c | 7 | ||||
-rw-r--r-- | src/main-utils.c | 114 | ||||
-rw-r--r-- | src/main-utils.h | 2 | ||||
-rw-r--r-- | src/main.c | 11 | ||||
-rw-r--r-- | src/nm-activation-request.c | 3 | ||||
-rw-r--r-- | src/nm-dcb.c | 3 | ||||
-rw-r--r-- | src/nm-posix-signals.c | 62 | ||||
-rw-r--r-- | src/nm-posix-signals.h | 36 | ||||
-rw-r--r-- | src/ppp-manager/nm-ppp-manager.c | 7 | ||||
-rw-r--r-- | src/settings/plugins/ibft/reader.c | 7 | ||||
-rw-r--r-- | src/settings/plugins/ifcfg-rh/reader.c | 1 | ||||
-rw-r--r-- | src/vpn-manager/nm-vpn-service.c | 7 |
20 files changed, 46 insertions, 270 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index b9809a28a8..f3302981ee 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -326,8 +326,6 @@ nm_sources = \ nm-manager.h \ nm-policy.c \ nm-policy.h \ - nm-posix-signals.c \ - nm-posix-signals.h \ nm-properties-changed-signal.c \ nm-properties-changed-signal.h \ nm-rfkill-manager.c \ @@ -503,8 +501,6 @@ libnm_iface_helper_la_SOURCES = \ nm-enum-types.h \ nm-logging.c \ nm-logging.h \ - nm-posix-signals.c \ - nm-posix-signals.h \ NetworkManagerUtils.c \ NetworkManagerUtils.h diff --git a/src/NetworkManagerUtils.c b/src/NetworkManagerUtils.c index 2225541c8d..dba2986c3e 100644 --- a/src/NetworkManagerUtils.c +++ b/src/NetworkManagerUtils.c @@ -47,7 +47,6 @@ #include "nm-setting-wireless.h" #include "nm-setting-wireless-security.h" #include "nm-auth-utils.h" -#include "nm-posix-signals.h" #include "nm-dbus-glib-types.h" #include "gsystem-local-alloc.h" @@ -164,7 +163,7 @@ nm_spawn_process (const char *args, GError **error) g_return_val_if_fail (!error || !*error, -1); if (g_shell_parse_argv (args, &num_args, &argv, &local)) { - g_spawn_sync ("/", argv, NULL, 0, nm_unblock_posix_signals, NULL, NULL, NULL, &status, &local); + g_spawn_sync ("/", argv, NULL, 0, NULL, NULL, NULL, NULL, &status, &local); g_strfreev (argv); } diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index 398d9e05e4..2659d51ec2 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -60,7 +60,6 @@ #include "nm-enum-types.h" #include "nm-settings-connection.h" #include "nm-connection-provider.h" -#include "nm-posix-signals.h" #include "nm-auth-utils.h" #include "nm-dbus-glib-types.h" #include "nm-dispatcher.h" @@ -2928,12 +2927,6 @@ aipd_child_setup (gpointer user_data G_GNUC_UNUSED) */ pid_t pid = getpid (); setpgid (pid, pid); - - /* - * We blocked signals in main(). We need to restore original signal - * mask for avahi-autoipd here so that it can receive signals. - */ - nm_unblock_posix_signals (NULL); } /* default to installed helper, but can be modified for testing */ @@ -5341,8 +5334,7 @@ send_arps (NMDevice *self, const char *mode_arg) "arping: run %s", (tmp_str = g_strjoinv (" ", (char **) argv))); success = g_spawn_async (NULL, (char **) argv, NULL, G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL, - nm_unblock_posix_signals, - NULL, NULL, &error); + NULL, NULL, NULL, &error); if (!success) { _LOGW (LOGD_DEVICE | LOGD_IP4, "arping: could not send ARP for local address %s: %s", @@ -6483,7 +6475,7 @@ spawn_ping (NMDevice *self, (gchar **) args, NULL, G_SPAWN_DO_NOT_REAP_CHILD, - nm_unblock_posix_signals, + NULL, NULL, &priv->gw_ping.pid, &error); diff --git a/src/devices/team/nm-device-team.c b/src/devices/team/nm-device-team.c index a8466466b4..26e2e47808 100644 --- a/src/devices/team/nm-device-team.c +++ b/src/devices/team/nm-device-team.c @@ -39,7 +39,6 @@ #include "nm-dbus-manager.h" #include "nm-enum-types.h" #include "nm-team-enum-types.h" -#include "nm-posix-signals.h" #include "nm-core-internal.h" #include "gsystem-local-alloc.h" @@ -433,12 +432,6 @@ teamd_child_setup (gpointer user_data G_GNUC_UNUSED) */ pid_t pid = getpid (); setpgid (pid, pid); - - /* - * We blocked signals in main(). We need to restore original signal - * mask for avahi-autoipd here so that it can receive signals. - */ - nm_unblock_posix_signals (NULL); } static gboolean @@ -463,7 +456,7 @@ teamd_kill (NMDeviceTeam *self, const char *teamd_binary, GError **error) g_ptr_array_add (argv, NULL); _LOGD (LOGD_TEAM, "running: %s", (tmp_str = g_strjoinv (" ", (gchar **) argv->pdata))); - return g_spawn_sync ("/", (char **) argv->pdata, NULL, 0, nm_unblock_posix_signals, NULL, NULL, NULL, NULL, error); + return g_spawn_sync ("/", (char **) argv->pdata, NULL, 0, NULL, NULL, NULL, NULL, NULL, error); } static gboolean diff --git a/src/dhcp-manager/nm-dhcp-dhclient.c b/src/dhcp-manager/nm-dhcp-dhclient.c index 504e8d5d17..7843b2fddd 100644 --- a/src/dhcp-manager/nm-dhcp-dhclient.c +++ b/src/dhcp-manager/nm-dhcp-dhclient.c @@ -41,7 +41,6 @@ #include "nm-logging.h" #include "nm-dhcp-dhclient-utils.h" #include "nm-dhcp-manager.h" -#include "nm-posix-signals.h" #include "NetworkManagerUtils.h" #include "nm-dhcp-listener.h" #include "gsystem-local-alloc.h" @@ -307,12 +306,6 @@ dhclient_child_setup (gpointer user_data G_GNUC_UNUSED) /* We are in the child process at this point */ pid_t pid = getpid (); setpgid (pid, pid); - - /* - * We blocked signals in main(). We need to restore original signal - * mask for dhclient here so that it can receive signals. - */ - nm_unblock_posix_signals (NULL); } static gboolean diff --git a/src/dhcp-manager/nm-dhcp-dhcpcd.c b/src/dhcp-manager/nm-dhcp-dhcpcd.c index e5a40c2fba..464733c4fb 100644 --- a/src/dhcp-manager/nm-dhcp-dhcpcd.c +++ b/src/dhcp-manager/nm-dhcp-dhcpcd.c @@ -37,7 +37,6 @@ #include "nm-dhcp-manager.h" #include "nm-utils.h" #include "nm-logging.h" -#include "nm-posix-signals.h" #include "NetworkManagerUtils.h" #include "nm-dhcp-listener.h" @@ -65,12 +64,6 @@ dhcpcd_child_setup (gpointer user_data G_GNUC_UNUSED) /* We are in the child process at this point */ pid_t pid = getpid (); setpgid (pid, pid); - - /* - * We blocked signals in main(). We need to restore original signal - * mask for dhcpcd here so that it can receive signals. - */ - nm_unblock_posix_signals (NULL); } static gboolean diff --git a/src/dns-manager/nm-dns-manager.c b/src/dns-manager/nm-dns-manager.c index 123478533f..c4b5c98d0a 100644 --- a/src/dns-manager/nm-dns-manager.c +++ b/src/dns-manager/nm-dns-manager.c @@ -43,7 +43,6 @@ #include "nm-ip6-config.h" #include "nm-logging.h" #include "NetworkManagerUtils.h" -#include "nm-posix-signals.h" #include "nm-config.h" #include "nm-dns-plugin.h" @@ -238,12 +237,6 @@ netconfig_child_setup (gpointer user_data G_GNUC_UNUSED) { pid_t pid = getpid (); setpgid (pid, pid); - - /* - * We blocked signals in main(). We need to restore original signal - * mask for netconfig here so that it can receive signals. - */ - nm_unblock_posix_signals (NULL); } static GPid diff --git a/src/dns-manager/nm-dns-plugin.c b/src/dns-manager/nm-dns-plugin.c index c684464e59..35c3216331 100644 --- a/src/dns-manager/nm-dns-plugin.c +++ b/src/dns-manager/nm-dns-plugin.c @@ -28,7 +28,6 @@ #include "nm-dns-plugin.h" #include "nm-logging.h" -#include "nm-posix-signals.h" #include "NetworkManagerUtils.h" typedef struct { @@ -142,12 +141,6 @@ child_setup (gpointer user_data G_GNUC_UNUSED) /* We are in the child process at this point */ pid_t pid = getpid (); setpgid (pid, pid); - - /* - * We blocked signals in main(). We need to restore original signal - * mask for DNS plugin here so that it can receive signals. - */ - nm_unblock_posix_signals (NULL); } GPid diff --git a/src/dnsmasq-manager/nm-dnsmasq-manager.c b/src/dnsmasq-manager/nm-dnsmasq-manager.c index 2f38ea7104..7cf80907e2 100644 --- a/src/dnsmasq-manager/nm-dnsmasq-manager.c +++ b/src/dnsmasq-manager/nm-dnsmasq-manager.c @@ -32,7 +32,6 @@ #include "nm-dnsmasq-utils.h" #include "nm-logging.h" #include "nm-glib-compat.h" -#include "nm-posix-signals.h" #include "nm-utils.h" #include "NetworkManagerUtils.h" @@ -302,12 +301,6 @@ dm_child_setup (gpointer user_data G_GNUC_UNUSED) /* We are in the child process at this point */ pid_t pid = getpid (); setpgid (pid, pid); - - /* - * We blocked signals in main(). We need to restore original signal - * mask for dnsmasq here so that it can receive signals. - */ - nm_unblock_posix_signals (NULL); } static void diff --git a/src/main-utils.c b/src/main-utils.c index cf1c3fb7e2..ace5cea04a 100644 --- a/src/main-utils.c +++ b/src/main-utils.c @@ -31,105 +31,63 @@ #include <glib.h> #include <glib/gi18n.h> +#include <glib-unix.h> #include <gmodule.h> #include "nm-glib-compat.h" #include "gsystem-local-alloc.h" #include "main-utils.h" -#include "nm-posix-signals.h" #include "NetworkManagerUtils.h" #include "nm-logging.h" -static sigset_t signal_set; -static gboolean *quit_early = NULL; +static gboolean +sighup_handler (gpointer user_data) +{ + /* Reread config stuff like system config files, VPN service files, etc */ + nm_main_config_reload (); -/* - * Thread function waiting for signals and processing them. - * Wait for signals in signal set. The semantics of sigwait() require that all - * threads (including the thread calling sigwait()) have the signal masked, for - * reliable operation. Otherwise, a signal that arrives while this thread is - * not blocked in sigwait() might be delivered to another thread. - */ -static void * -signal_handling_thread (void *arg) + return G_SOURCE_CONTINUE; +} + +static gboolean +sigint_handler (gpointer user_data) { - GMainLoop *main_loop = arg; - int signo; - - while (1) { - sigwait (&signal_set, &signo); - - switch (signo) { - case SIGINT: - case SIGTERM: - nm_log_info (LOGD_CORE, "caught signal %d, shutting down normally.", signo); - *quit_early = TRUE; /* for quitting before entering the main loop */ - g_main_loop_quit (main_loop); - break; - case SIGHUP: - /* Reread config stuff like system config files, VPN service files, etc */ - nm_main_config_reload (); - break; - case SIGPIPE: - /* silently ignore signal */ - break; - default: - nm_log_err (LOGD_CORE, "caught unexpected signal %d", signo); - break; - } - } - return NULL; + GMainLoop *main_loop = user_data; + + nm_log_info (LOGD_CORE, "caught SIGINT, shutting down normally."); + g_main_loop_quit (main_loop); + + return G_SOURCE_REMOVE; +} + +static gboolean +sigterm_handler (gpointer user_data) +{ + GMainLoop *main_loop = user_data; + + nm_log_info (LOGD_CORE, "caught SIGTERM, shutting down normally."); + g_main_loop_quit (main_loop); + + return G_SOURCE_REMOVE; } /** * nm_main_utils_setup_signals: * @main_loop: the #GMainLoop to quit when SIGINT or SIGTERM is received - * @quit_early: location of a variable that will be set to TRUE when - * SIGINT or SIGTERM is received * - * Mask the signals we are interested in and create a signal handling thread. - * Because all threads inherit the signal mask from their creator, all threads - * in the process will have the signals masked. That's why setup_signals() has - * to be called before creating other threads. - * - * Returns: %TRUE on success + * Sets up signal handling for NetworkManager. */ -gboolean -nm_main_utils_setup_signals (GMainLoop *main_loop, gboolean *quit_early_ptr) +void +nm_main_utils_setup_signals (GMainLoop *main_loop) { - pthread_t signal_thread_id; - sigset_t old_sig_mask; - int status; - - g_return_val_if_fail (main_loop != NULL, FALSE); - g_return_val_if_fail (quit_early_ptr != NULL, FALSE); - - quit_early = quit_early_ptr; - - sigemptyset (&signal_set); - sigaddset (&signal_set, SIGHUP); - sigaddset (&signal_set, SIGINT); - sigaddset (&signal_set, SIGTERM); - sigaddset (&signal_set, SIGPIPE); + g_return_if_fail (main_loop != NULL); - /* Block all signals of interest. */ - status = pthread_sigmask (SIG_BLOCK, &signal_set, &old_sig_mask); - if (status != 0) { - fprintf (stderr, _("Failed to set signal mask: %d"), status); - return FALSE; - } - /* Save original mask so that we could use it for child processes. */ - nm_save_original_signal_mask (old_sig_mask); - - /* Create the signal handling thread. */ - status = pthread_create (&signal_thread_id, NULL, signal_handling_thread, main_loop); - if (status != 0) { - fprintf (stderr, _("Failed to create signal handling thread: %d"), status); - return FALSE; - } + signal (SIGPIPE, SIG_IGN); - return TRUE; + g_unix_signal_add (SIGHUP, sighup_handler, NULL); + g_unix_signal_add (SIGINT, sigint_handler, main_loop); + g_unix_signal_add (SIGTERM, sigterm_handler, main_loop); } gboolean diff --git a/src/main-utils.h b/src/main-utils.h index a34a6df40e..7adfa94940 100644 --- a/src/main-utils.h +++ b/src/main-utils.h @@ -25,7 +25,7 @@ void nm_main_utils_ensure_root (void); -gboolean nm_main_utils_setup_signals (GMainLoop *main_loop, gboolean *quit_early_ptr); +void nm_main_utils_setup_signals (GMainLoop *main_loop); void nm_main_utils_ensure_rundir (void); diff --git a/src/main.c b/src/main.c index b7eae807dd..4c7dcb0ff3 100644 --- a/src/main.c +++ b/src/main.c @@ -54,7 +54,6 @@ #include "nm-vpn-manager.h" #include "nm-logging.h" #include "nm-config.h" -#include "nm-posix-signals.h" #include "nm-session-monitor.h" #include "nm-dispatcher.h" #include "nm-settings.h" @@ -69,7 +68,7 @@ #define NM_DEFAULT_SYSTEM_STATE_FILE NMSTATEDIR "/NetworkManager.state" static GMainLoop *main_loop = NULL; -static gboolean quit_early = FALSE; +static gboolean configure_and_quit = FALSE; static struct { gboolean show_version; @@ -226,7 +225,7 @@ manager_configure_quit (NMManager *manager, gpointer user_data) { nm_log_info (LOGD_CORE, "quitting now that startup is complete"); g_main_loop_quit (main_loop); - quit_early = TRUE; + configure_and_quit = TRUE; } static void @@ -400,8 +399,7 @@ main (int argc, char *argv[]) } /* Set up unix signal handling - before creating threads, but after daemonizing! */ - if (!nm_main_utils_setup_signals (main_loop, &quit_early)) - exit (1); + nm_main_utils_setup_signals (main_loop); nm_logging_syslog_openlog (global_opt.debug); @@ -516,8 +514,7 @@ main (int argc, char *argv[]) success = TRUE; - /* Told to quit before getting to the mainloop by the signal handler */ - if (!quit_early) + if (configure_and_quit == FALSE) g_main_loop_run (main_loop); nm_manager_stop (manager); diff --git a/src/nm-activation-request.c b/src/nm-activation-request.c index 30ce751522..d6ed34fdae 100644 --- a/src/nm-activation-request.c +++ b/src/nm-activation-request.c @@ -35,7 +35,6 @@ #include "nm-device.h" #include "nm-active-connection.h" #include "nm-settings-connection.h" -#include "nm-posix-signals.h" #include "nm-auth-subject.h" G_DEFINE_TYPE (NMActRequest, nm_act_request, NM_TYPE_ACTIVE_CONNECTION) @@ -202,8 +201,6 @@ share_child_setup (gpointer user_data G_GNUC_UNUSED) /* We are in the child process at this point */ pid_t pid = getpid (); setpgid (pid, pid); - - nm_unblock_posix_signals (NULL); } void diff --git a/src/nm-dcb.c b/src/nm-dcb.c index 34b9246fb8..8bf3858a3d 100644 --- a/src/nm-dcb.c +++ b/src/nm-dcb.c @@ -27,7 +27,6 @@ #include "nm-dcb.h" #include "nm-platform.h" #include "NetworkManagerUtils.h" -#include "nm-posix-signals.h" #include "nm-logging.h" static const char *helper_names[] = { "dcbtool", "fcoeadm" }; @@ -305,7 +304,7 @@ run_helper (char **argv, guint which, gpointer user_data, GError **error) nm_log_dbg (LOGD_DCB, "%s", cmdline); success = g_spawn_sync ("/", argv, NULL, 0 /*G_SPAWN_DEFAULT*/, - nm_unblock_posix_signals, NULL, + NULL, NULL, &outmsg, &errmsg, &exit_status, error); /* Log any stderr output */ if (success && WIFEXITED (exit_status) && WEXITSTATUS (exit_status) && (errmsg || outmsg)) { diff --git a/src/nm-posix-signals.c b/src/nm-posix-signals.c deleted file mode 100644 index 22fed83103..0000000000 --- a/src/nm-posix-signals.c +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ -/* NetworkManager -- Network link manager - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Copyright (C) 2012 Red Hat, Inc. - */ - -#include "config.h" - -#include <signal.h> - -#include "nm-posix-signals.h" - - -/* Stores the original signal mask of NetworkManager process */ -static sigset_t nm_original_signal_mask; - -void -nm_save_original_signal_mask (sigset_t sig_mask) -{ - nm_original_signal_mask = sig_mask; -} - -const sigset_t * -nm_get_original_signal_mask (void) -{ - return &nm_original_signal_mask; -} - -/* - * Unblock signals. - * If a signal set is passed, those signals are unblocked. If user_data is NULL - * the process' signal mask is set to the saved original mask. - * Note: This function can be used in g_spawn_* as GSpawnChildSetupFunc() - * callback. - */ -void -nm_unblock_posix_signals (gpointer user_data) -{ - sigset_t *user_sigset = (sigset_t *) user_data; - - if (user_sigset != NULL) { - pthread_sigmask (SIG_UNBLOCK, user_sigset, NULL); - } else { - const sigset_t *orig_sig_mask = nm_get_original_signal_mask (); - pthread_sigmask (SIG_SETMASK, orig_sig_mask, NULL); - } -} - diff --git a/src/nm-posix-signals.h b/src/nm-posix-signals.h deleted file mode 100644 index e2af559bab..0000000000 --- a/src/nm-posix-signals.h +++ /dev/null @@ -1,36 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ -/* NetworkManager -- Network link manager - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Copyright (C) 2012 Red Hat, Inc. - */ - -#ifndef __NETWORKMANAGER_POSIX_SIGNALS_H__ -#define __NETWORKMANAGER_POSIX_SIGNALS_H__ - -#include <glib.h> -#include <signal.h> - -/* - * This function can be used in g_spawn_* as GSpawnChildSetupFunc() - * callback. - */ -void nm_unblock_posix_signals (gpointer user_data); - -void nm_save_original_signal_mask (sigset_t sig_mask); -const sigset_t *nm_get_original_signal_mask (void); - -#endif /* __NETWORKMANAGER_POSIX_SIGNALS_H__ */ diff --git a/src/ppp-manager/nm-ppp-manager.c b/src/ppp-manager/nm-ppp-manager.c index 414b16c91c..c3d0faa7f3 100644 --- a/src/ppp-manager/nm-ppp-manager.c +++ b/src/ppp-manager/nm-ppp-manager.c @@ -47,7 +47,6 @@ #include "nm-ppp-manager.h" #include "nm-dbus-manager.h" #include "nm-logging.h" -#include "nm-posix-signals.h" #include "nm-platform.h" #include "nm-core-internal.h" @@ -1036,12 +1035,6 @@ pppd_child_setup (gpointer user_data G_GNUC_UNUSED) /* We are in the child process at this point */ pid_t pid = getpid (); setpgid (pid, pid); - - /* - * We blocked signals in main(). We need to restore original signal - * mask for pppd here so that it can receive signals. - */ - nm_unblock_posix_signals (NULL); } static void diff --git a/src/settings/plugins/ibft/reader.c b/src/settings/plugins/ibft/reader.c index 833818c876..af87f67617 100644 --- a/src/settings/plugins/ibft/reader.c +++ b/src/settings/plugins/ibft/reader.c @@ -36,7 +36,6 @@ #include "nm-core-internal.h" #include "nm-platform.h" -#include "nm-posix-signals.h" #include "NetworkManagerUtils.h" #include "nm-logging.h" @@ -52,12 +51,6 @@ iscsiadm_child_setup (gpointer user_data G_GNUC_UNUSED) */ pid_t pid = getpid (); setpgid (pid, pid); - - /* - * We blocked signals in main(). We need to restore original signal - * mask for iscsiadm here so that it can receive signals. - */ - nm_unblock_posix_signals (NULL); } /* Removes trailing whitespace and whitespace before and immediately after the '=' */ diff --git a/src/settings/plugins/ifcfg-rh/reader.c b/src/settings/plugins/ifcfg-rh/reader.c index 8f6a4fb2ad..31928343ce 100644 --- a/src/settings/plugins/ifcfg-rh/reader.c +++ b/src/settings/plugins/ifcfg-rh/reader.c @@ -53,7 +53,6 @@ #include <nm-utils.h> #include "nm-platform.h" -#include "nm-posix-signals.h" #include "NetworkManagerUtils.h" #include "nm-logging.h" #include "gsystem-local-alloc.h" diff --git a/src/vpn-manager/nm-vpn-service.c b/src/vpn-manager/nm-vpn-service.c index b46d13ecf7..23b0e8604d 100644 --- a/src/vpn-manager/nm-vpn-service.c +++ b/src/vpn-manager/nm-vpn-service.c @@ -31,7 +31,6 @@ #include "nm-vpn-service.h" #include "nm-dbus-manager.h" #include "nm-logging.h" -#include "nm-posix-signals.h" #include "nm-vpn-manager.h" #include "nm-glib-compat.h" @@ -173,12 +172,6 @@ _daemon_setup (gpointer user_data G_GNUC_UNUSED) /* We are in the child process at this point */ pid_t pid = getpid (); setpgid (pid, pid); - - /* - * We blocked signals in main(). We need to restore original signal - * mask for VPN service here so that it can receive signals. - */ - nm_unblock_posix_signals (NULL); } static gboolean |