Author martius
Recipients gvanrossum, martius, vstinner, yselivanov
Date 2014-11-28.16:51:50
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1417193511.2.0.567945104199.issue21998@psf.upfronthosting.co.za>
In-reply-to
Content
Hi,

Actually, closing and creating a new loop in the child doesn't work either, at least on Linux.

When, in the child, we call loop.close(), it performs:
self.remove_reader(self._ssock)
(in selector_events.py, _close_self_pipe() around line 85)

Both the parent and the child still refer to the same underlying epoll structure, at that moment, and calling remove_reader() has an effect on the parent process too (which will never watch the self-pipe again).

I attached a test case that demonstrates the issue (and the workaround, commented).
History
Date User Action Args
2014-11-28 16:51:51martiussetrecipients: + martius, gvanrossum, vstinner, yselivanov
2014-11-28 16:51:51martiussetmessageid: <1417193511.2.0.567945104199.issue21998@psf.upfronthosting.co.za>
2014-11-28 16:51:51martiuslinkissue21998 messages
2014-11-28 16:51:50martiuscreate