New submission from Alexey Izbyshev <izbys...@ispras.ru>:

_Py_set_inheritable() raises a Python-level exception on error and thus is  not 
async-signal-safe, but child_exec() must use only async-signal-safe functions 
because it's executed between fork() and exec().

Since a non-raising version is already implemented in Python/fileutils.c for 
internal use (set_inheritable), I suggest to simply expose it via another 
public function (similar to _Py_open_noraise(), etc.).

----------
components: Library (Lib)
messages: 311699
nosy: izbyshev, vstinner
priority: normal
severity: normal
status: open
title: subprocess: child_exec() uses _Py_set_inheritable() which is not 
async-signal-safe
type: behavior
versions: Python 3.6, Python 3.7

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue32777>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to