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 pitrou
Recipients davin, pitrou, rhettinger, sbt
Date 2017-04-27.10:51:47
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1493290307.72.0.662985232827.issue30185@psf.upfronthosting.co.za>
In-reply-to
Content
The forkserver intermediate process is an implementation detail.  However, if you Ctrl-C the main process, the forkserver process will exit with a KeyboardInterrupt traceback, even if the main process catches KeyboardInterrupt to exit silently.  This produces stderr such as:

$ ./python forkserversignal.py 
^CTraceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/antoine/cpython/default/Lib/multiprocessing/forkserver.py", line 164, in main
    rfds = [key.fileobj for (key, events) in selector.select()]
  File "/home/antoine/cpython/default/Lib/selectors.py", line 445, in select
    fd_event_list = self._epoll.poll(timeout, max_ev)
KeyboardInterrupt


For the sake of usability, forkserver should probably silence those tracebacks by default, for example by changing the default signal handler in the forkserver process (but children forked by the forkserver process should probably get the default Python signal handlers...).

Not sure this can be considered a bugfix or an enhancement.
History
Date User Action Args
2017-04-27 10:51:47pitrousetrecipients: + pitrou, rhettinger, sbt, davin
2017-04-27 10:51:47pitrousetmessageid: <1493290307.72.0.662985232827.issue30185@psf.upfronthosting.co.za>
2017-04-27 10:51:47pitroulinkissue30185 messages
2017-04-27 10:51:47pitroucreate