From f5e04fa4d74fc404cb067ecedf1adb7e5fc8846f Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 16 Feb 2012 13:42:59 -0800 Subject: EventLoop: fix signal race in _sigchld_init --- pym/portage/util/_eventloop/EventLoop.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pym/portage/util/_eventloop/EventLoop.py b/pym/portage/util/_eventloop/EventLoop.py index 3123cab66..9ca529fe1 100644 --- a/pym/portage/util/_eventloop/EventLoop.py +++ b/pym/portage/util/_eventloop/EventLoop.py @@ -242,11 +242,11 @@ class EventLoop(object): return source_id def _sigchld_init(self): - signal.signal(signal.SIGCHLD, self._sigchld_sig_cb) self._sigchld_read, self._sigchld_write = os.pipe() fcntl.fcntl(self._sigchld_read, fcntl.F_SETFL, fcntl.fcntl(self._sigchld_read, fcntl.F_GETFL) | os.O_NONBLOCK) self.io_add_watch(self._sigchld_read, self.IO_IN, self._sigchld_io_cb) + signal.signal(signal.SIGCHLD, self._sigchld_sig_cb) def _sigchld_sig_cb(self, signum, frame): # If this signal handler was not installed by the -- cgit v1.2.3-1-g7c22