diff options
author | Christian Heimes <christian@python.org> | 2015-04-19 21:15:02 +0200 |
---|---|---|
committer | Christian Heimes <christian@python.org> | 2015-04-19 21:15:02 +0200 |
commit | 1a084a882b6d201320aa834bfd14e1b9a445c139 (patch) | |
tree | 162aacbf445fe1e61256342d0230b5e2101de6c4 | |
parent | db46fea8b63582e76a29f9dd23882523a474b600 (diff) | |
parent | e0ac2beb4febece5ffdf1b7db7a2f53a8c187ce4 (diff) | |
download | cpython-git-1a084a882b6d201320aa834bfd14e1b9a445c139.tar.gz |
Issue #23998: PyImport_ReInitLock() now checks for lock allocation error
-rw-r--r-- | Misc/NEWS | 5 | ||||
-rw-r--r-- | Python/import.c | 6 |
2 files changed, 10 insertions, 1 deletions
@@ -213,6 +213,11 @@ Tools/Demos if Argument Clinic processes the same symbol multiple times, and it's emitted at the end of all processing rather than immediately after the first use. +C API +----- + +- Issue #23998: PyImport_ReInitLock() now checks for lock allocation error + What's New in Python 3.5.0 alpha 3? =================================== diff --git a/Python/import.c b/Python/import.c index 46c6b53e7a..999da3759c 100644 --- a/Python/import.c +++ b/Python/import.c @@ -209,8 +209,12 @@ _PyImport_ReleaseLock(void) void _PyImport_ReInitLock(void) { - if (import_lock != NULL) + if (import_lock != NULL) { import_lock = PyThread_allocate_lock(); + if (import_lock == NULL) { + Py_FatalError("PyImport_ReInitLock failed to create a new lock"); + } + } if (import_lock_level > 1) { /* Forked as a side effect of import */ long me = PyThread_get_thread_ident(); |