[master 00/17] Improve child process starting and management

David Shea dshea at redhat.com
Tue Sep 23 17:30:57 UTC 2014


On 09/23/2014 11:09 AM, Colin Walters wrote:
>
> On Sun, Sep 21, 2014, at 03:36 PM, David Shea wrote:
>> The overall goal is to ensure that any time we start a new process, it
>> should
>> be started with a clean set of signal handlers (in particular, make sure
>> that
>> SIGPIPE is set to SIG_DFL instead of the SIG_IGN set by python) and no
>> file
>> descriptors from the parent make it through exec() other than stdin,
>> stdout and
>> stderr.
> Note GLib.spawn* does that by default, and with the new GSubprocess
> there are nicer async APIs on top.  The problem going forward is still
> that only one thing can use SIGCHILD, so anaconda installing its own
> will break GLib's.

Yeah. We also have a problem with Gtk's signal handlers interfering with 
our python-installed handlers, so one of the things rattling on my 
whiteboard is to convert the signal handlers after Gtk.init, and I 
figured I'd convert the SIGCHLD watcher at that point, as well. I don't 
think that using GLib outside of the GUI portions of anaconda would be 
worthwhile.


More information about the anaconda-patches mailing list