Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o
Cc: Bertrand SIMONNET <bsimonnet@××××××××.org>
Subject: Re: [gentoo-portage-dev] [PATCH] Do not interrupt on SIGCONT
Date: Thu, 26 Feb 2015 17:06:14
Message-Id: 54EF527F.4010501@gentoo.org
In Reply to: [gentoo-portage-dev] [PATCH] Do not interrupt on SIGCONT by Mike Frysinger
1 On 02/25/2015 08:30 PM, Mike Frysinger wrote:
2 > From: Bertrand SIMONNET <bsimonnet@××××××××.org>
3 >
4 > SIGCONT signals should not interrupt any system calls (locking or wait pid for
5 > example).
6 >
7 > URL: http://crbug.com/417800
8 > X-Gentoo-Bug-URL: https://bugs.gentoo.org/500436
9 > ---
10 > pym/_emerge/Scheduler.py | 1 +
11 > 1 file changed, 1 insertion(+)
12 >
13 > diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
14 > index d6db311..6e3bf1a 100644
15 > --- a/pym/_emerge/Scheduler.py
16 > +++ b/pym/_emerge/Scheduler.py
17 > @@ -1017,6 +1017,7 @@ class Scheduler(PollScheduler):
18 > earlier_sigterm_handler = signal.signal(signal.SIGTERM, sighandler)
19 > earlier_sigcont_handler = \
20 > signal.signal(signal.SIGCONT, self._sigcont_handler)
21 > + signal.siginterrupt(signal.SIGCONT, False)
22 >
23 > try:
24 > rval = self._merge()
25 >
26
27 LGTM.
28
29 We already have wrappers to handle EINTR for waitpid and lockf:
30
31 https://github.com/gentoo/portage/commit/7c70eea2f607baffcbb9d465c03578d69b09decf
32 https://github.com/gentoo/portage/commit/664684f0f17c0f3570ffd9382037994db1ec66bd
33
34 I suppose it won't hurt to suppress EINTR though...
35 --
36 Thanks,
37 Zac