diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2015-09-02 23:38:44 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2015-09-02 23:38:44 (GMT) |
commit | be923ac948635e1a93d55398648f8d03996d3ebd (patch) | |
tree | ffd2fa596709b4e1ddd460793aa73c32bf37cf9a /Mac/PythonLauncher | |
parent | 5a682c9ca5b5f0ea3e2d5e2b02fc1a5304c501a2 (diff) | |
download | cpython-be923ac948635e1a93d55398648f8d03996d3ebd.zip cpython-be923ac948635e1a93d55398648f8d03996d3ebd.tar.gz cpython-be923ac948635e1a93d55398648f8d03996d3ebd.tar.bz2 |
Rewrite eintr_tester.py to avoid os.fork()
eintr_tester.py calls signal.setitimer() to send signals to the current process
every 100 ms. The test sometimes hangs on FreeBSD. Maybe there is a race
condition in the child process after fork(). It's unsafe to run arbitrary code
after fork().
This change replace os.fork() with a regular call to subprocess.Popen(). This
change avoids the risk of having a child process which continue to execute
eintr_tester.py instead of exiting. It also ensures that the child process
doesn't inherit unexpected file descriptors by mistake.
Since I'm unable to reproduce the issue on FreeBSD, I will have to watch
FreeBSD buildbots to check if the issue is fixed or not.
Remove previous attempt to debug: remove call to
faulthandler.dump_traceback_later().
Diffstat (limited to 'Mac/PythonLauncher')
0 files changed, 0 insertions, 0 deletions