commit | 4484f9dca9149da135bbae035f10a50d20d1cbbb | [log] [tgz] |
---|---|---|
author | Nir Soffer <nirsof@gmail.com> | Mon Mar 12 01:39:22 2018 +0200 |
committer | Antoine Pitrou <pitrou@free.fr> | Mon Mar 12 00:39:22 2018 +0100 |
tree | 3caa068402965d1f8a14407ea7b09fda5902ffbf | |
parent | e756f66c83786ee82f5f7d45931ae50a6931dd7f [diff] |
bpo-33021: Release the GIL during fstat() calls (GH-6019) fstat may block for long time if the file descriptor is on a non-responsive NFS server, hanging all threads. Most fstat() calls are handled by _Py_fstat(), releasing the GIL internally, but but _Py_fstat_noraise() does not release the GIL, and most calls release the GIL explicitly around it. This patch fixes last 2 calls to _Py_fstat_no_raise(), avoiding hangs when calling: - mmap.mmap() - os.urandom() - random.seed()