Mercurial > cpython-lru_cache-weakref
diff Python/ceval.c @ 5865:9841bce37c4d legacy-trunk
Moved PyEval_{Acquire,Release}Thread() to within the same #ifdef
WITH_THREAD as PyEval_InitThreads().
Removed use of Py_SuppressPrintingFlag.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Sat, 19 Jul 1997 19:55:50 +0000 |
| parents | 852a1fa62a7c |
| children | 6986781a07ef |
line wrap: on
line diff
--- a/Python/ceval.c Sat Jul 19 19:54:25 1997 +0000 +++ b/Python/ceval.c Sat Jul 19 19:55:50 1997 +0000 @@ -129,6 +129,28 @@ main_thread = get_thread_ident(); } +void +PyEval_AcquireThread(tstate) + PyThreadState *tstate; +{ + if (tstate == NULL) + Py_FatalError("PyEval_AcquireThread: NULL new thread state"); + acquire_lock(interpreter_lock, 1); + if (PyThreadState_Swap(tstate) != NULL) + Py_FatalError( + "PyEval_AcquireThread: non-NULL old thread state"); +} + +void +PyEval_ReleaseThread(tstate) + PyThreadState *tstate; +{ + if (tstate == NULL) + Py_FatalError("PyEval_ReleaseThread: NULL thread state"); + if (PyThreadState_Swap(NULL) != tstate) + Py_FatalError("PyEval_ReleaseThread: wrong thread state"); + release_lock(interpreter_lock); +} #endif /* Functions save_thread and restore_thread are always defined so @@ -167,25 +189,6 @@ #endif } -#ifdef WITH_THREAD -void -PyEval_AcquireThread(tstate) - PyThreadState *tstate; -{ - acquire_lock(interpreter_lock, 1); - if (PyThreadState_Swap(tstate) != NULL) - Py_FatalError("PyEval_AcquireThread: non-NULL old state"); -} - -void -PyEval_ReleaseThread(tstate) - PyThreadState *tstate; -{ - if (PyThreadState_Swap(NULL) != tstate) - Py_FatalError("PyEval_ReleaseThread: wrong thread state"); - release_lock(interpreter_lock); -} -#endif /* Mechanism whereby asynchronously executing callbacks (e.g. UNIX signal handlers or Mac I/O completion routines) can schedule calls @@ -1000,8 +1003,7 @@ /* Before printing, also assign to '_' */ if (v != Py_None && (err = PyDict_SetItemString( - f->f_builtins, "_", v)) == 0 && - !Py_SuppressPrintingFlag) { + f->f_builtins, "_", v)) == 0) { err = Py_FlushLine(); if (err == 0) { x = PySys_GetObject("stdout");
