Issue #23998: PyImport_ReInitLock() now checks for lock allocation error

This commit is contained in:
Christian Heimes 2015-04-19 21:08:42 +02:00
parent e5a853c390
commit 418fd74f87
2 changed files with 10 additions and 1 deletions

View File

@ -32,6 +32,11 @@ Library
- Issue #23365: Fixed possible integer overflow in - Issue #23365: Fixed possible integer overflow in
itertools.combinations_with_replacement. itertools.combinations_with_replacement.
C API
-----
- Issue #23998: PyImport_ReInitLock() now checks for lock allocation error
What's New in Python 3.3.6? What's New in Python 3.3.6?
=========================== ===========================

View File

@ -199,8 +199,12 @@ _PyImport_ReleaseLock(void)
void void
_PyImport_ReInitLock(void) _PyImport_ReInitLock(void)
{ {
if (import_lock != NULL) if (import_lock != NULL) {
import_lock = PyThread_allocate_lock(); import_lock = PyThread_allocate_lock();
if (import_lock == NULL) {
Py_FatalError("PyImport_ReInitLock failed to create a new lock");
}
}
if (import_lock_level > 1) { if (import_lock_level > 1) {
/* Forked as a side effect of import */ /* Forked as a side effect of import */
long me = PyThread_get_thread_ident(); long me = PyThread_get_thread_ident();