GNOME Bugzilla – Bug 743052
use GUnixSignalWatchSource rather than sigwait()
Last modified: 2015-02-25 14:09:02 UTC
danw/signals-bgoXXXXXX Someone forgot to call nm_unblock_posix_signals() in some patch somewhere recently, and I got annoyed and decided to kill it. As a bonus, it turns out that this also fixes the bug where hitting ^C in gdb kills NetworkManager. Yay! Having to modify all the child setup functions then led me to streamline our use of setpgid() a bit, which is not actually related to signals at all, but I was there...
LGTM, nice cleanups
Works fine for me, looks good.
Pushed a fixup. The code looks fine. (I hope it doesn't have negative consequences e.g. with loosing signals due to theading, etc.)
LGTM
(In reply to comment #3) > (I hope it doesn't have negative consequences e.g. with losing signals due to > theading, etc.) The glib code handles multiple threads fine. One possible source of bugs though is that there might be places in NM where we ought to have been handling EINTR, but weren't. With the old code, signals were masked in most threads, so they'd never get an EINTR, but with the new code they might.
merged jklimes's fixup and pushed