From 9cc8a20cd26102fc8b5f210a0e3fa2a92de193b4 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Sat, 19 Jul 1997 19:55:50 +0000 Subject: [PATCH] Moved PyEval_{Acquire,Release}Thread() to within the same #ifdef WITH_THREAD as PyEval_InitThreads(). Removed use of Py_SuppressPrintingFlag. --- Python/ceval.c | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/Python/ceval.c b/Python/ceval.c index be4ffec6547..ec2e419e24f 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -129,6 +129,28 @@ PyEval_InitThreads() 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 @@ PyEval_RestoreThread(tstate) #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 @@ eval_code2(co, globals, locals, /* 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");