This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author neologix
Recipients David.Edelsohn, neologix, pitrou, sbt
Date 2013-08-28.11:54:58
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1377690898.24.0.25076288076.issue18786@psf.upfronthosting.co.za>
In-reply-to
Content
> It looks like the main process keeps getting killed by SIGUSR1.
> Don't know why.

In Lib/test/_test_multiprocessing.py:
"""
    def test_poll_eintr(self):
        got_signal = [False]
        def record(*args):
            got_signal[0] = True
        pid = os.getpid()
        oldhandler = signal.signal(signal.SIGUSR1, record)
        try:
            killer = self.Process(target=self._killer, args=(pid,))
            killer.start()
            p = self.Process(target=time.sleep, args=(1,))
            p.start()
            p.join()
            self.assertTrue(got_signal[0])
            self.assertEqual(p.exitcode, 0)
            killer.join()
        finally:
            signal.signal(signal.SIGUSR1, oldhandler)
"""

If the _killer process takes too long to start, it won't send SIGUSR1 before the p process returns (0.5s vs 1s): which means that the default SIGUSR1 handler will be restored before SIGUSR1 is sent. Then SIGUSR1 comes in, resulting on the failure above.
History
Date User Action Args
2013-08-28 11:54:58neologixsetrecipients: + neologix, pitrou, sbt, David.Edelsohn
2013-08-28 11:54:58neologixsetmessageid: <1377690898.24.0.25076288076.issue18786@psf.upfronthosting.co.za>
2013-08-28 11:54:58neologixlinkissue18786 messages
2013-08-28 11:54:58neologixcreate