]> granicus.if.org Git - python/commitdiff
Change PyEval_SaveThread() and PyEval_RestoreThread() to always do the
authorGuido van Rossum <guido@python.org>
Tue, 30 Sep 1997 22:03:16 +0000 (22:03 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 30 Sep 1997 22:03:16 +0000 (22:03 +0000)
tstate swapping.  Only the acquiring and releasing of the lock is
conditional (twice, under ``#ifdef WITH_THREAD'' and inside ``if
(interpreter_lock)'').

Python/ceval.c

index d8c9a05f28e09360c4b07f000a72cfe8102bfb7c..dd7faf945ce6993eeb5e72ad82df5abea064894f 100644 (file)
@@ -171,33 +171,30 @@ PyEval_ReleaseThread(tstate)
 PyThreadState *
 PyEval_SaveThread()
 {
+       PyThreadState *tstate = PyThreadState_Swap(NULL);
+       if (tstate == NULL)
+               Py_FatalError("PyEval_SaveThread: NULL tstate");
 #ifdef WITH_THREAD
-       if (interpreter_lock) {
-               PyThreadState *tstate = PyThreadState_Swap(NULL);
-               if (tstate == NULL)
-                       Py_FatalError("PyEval_SaveThread: NULL tstate");
+       if (interpreter_lock)
                release_lock(interpreter_lock);
-               return tstate;
-       }
 #endif
-       return NULL;
+       return tstate;
 }
 
 void
 PyEval_RestoreThread(tstate)
        PyThreadState *tstate;
 {
+       if (tstate == NULL)
+               Py_FatalError("PyEval_RestoreThread: NULL tstate");
 #ifdef WITH_THREAD
        if (interpreter_lock) {
-               int err;
-               err = errno;
-               if (tstate == NULL)
-                       Py_FatalError("PyEval_RestoreThread: NULL tstate");
+               int err = errno;
                acquire_lock(interpreter_lock, 1);
-               PyThreadState_Swap(tstate);
                errno = err;
        }
 #endif
+       PyThreadState_Swap(tstate);
 }