mirror of
https://github.com/python/cpython.git
synced 2025-09-27 02:39:58 +00:00
Issue #23998: PyImport_ReInitLock() now checks for lock allocation error
This commit is contained in:
commit
1a084a882b
2 changed files with 10 additions and 1 deletions
|
@ -213,6 +213,11 @@ Tools/Demos
|
||||||
if Argument Clinic processes the same symbol multiple times, and it's emitted
|
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.
|
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?
|
What's New in Python 3.5.0 alpha 3?
|
||||||
===================================
|
===================================
|
||||||
|
|
|
@ -209,8 +209,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();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue