core: use GUnixSignalWatchSource to simplify signal handling

System Internals / NetworkManager - Dan Winship [redhat.com] - 19 January 2015 10:29 UTC

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.

c5b3e93 core: use GUnixSignalWatchSource to simplify signal handling
src/Makefile.am | 4 --
src/NetworkManagerUtils.c | 3 +-
src/devices/nm-device.c | 14 +---
src/devices/team/nm-device-team.c | 9 +--
src/dhcp-manager/nm-dhcp-dhclient.c | 7 --
src/dhcp-manager/nm-dhcp-dhcpcd.c | 7 --
src/dns-manager/nm-dns-manager.c | 7 --
src/dns-manager/nm-dns-plugin.c | 7 --
src/dnsmasq-manager/nm-dnsmasq-manager.c | 7 --
src/main-utils.c | 114 ++++++++++--------------------
src/main-utils.h | 2 +-
src/main.c | 9 +--
src/nm-activation-request.c | 3 -
src/nm-dcb.c | 3 +-
src/nm-posix-signals.c | 62 ----------------
src/nm-posix-signals.h | 36 ----------
src/ppp-manager/nm-ppp-manager.c | 7 --
src/settings/plugins/ibft/reader.c | 7 --
src/settings/plugins/ifcfg-rh/reader.c | 1 -
src/vpn-manager/nm-vpn-service.c | 7 --
20 files changed, 44 insertions(+), 272 deletions(-)

Upstream: cgit.freedesktop.org


  • Share