From: Guido van Rossum Date: Fri, 18 Jul 1997 23:57:50 +0000 (+0000) Subject: Use the new functions PyEval_AcquireThread() and X-Git-Tag: v1.5a3~231 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=75aa0d6abe706ef4048c1d38c2cde28d8eb924e3;p=python Use the new functions PyEval_AcquireThread() and PyEval_ReleaseThread() (in ceval.c) to set/reset the current thread, and at the same time acquire/release the interpreter lock. Much saner. --- diff --git a/Modules/threadmodule.c b/Modules/threadmodule.c index 99ca4afc91..22017992a5 100644 --- a/Modules/threadmodule.c +++ b/Modules/threadmodule.c @@ -203,12 +203,11 @@ t_bootstrap(boot_raw) void *boot_raw; { struct bootstate *boot = (struct bootstate *) boot_raw; - PyThreadState *alttstate, *tstate; + PyThreadState *tstate; PyObject *res; tstate = PyThreadState_New(boot->interp); - PyEval_RestoreThread((void *)NULL); - alttstate = PyThreadState_Swap(tstate); + PyEval_AcquireThread(tstate); res = PyEval_CallObjectWithKeywords( boot->func, boot->args, boot->keyw); Py_DECREF(boot->func); @@ -225,8 +224,7 @@ t_bootstrap(boot_raw) } else Py_DECREF(res); - (void) PyThreadState_Swap(alttstate); - (void) PyEval_SaveThread(); + PyEval_ReleaseThread(tstate); PyThreadState_Delete(tstate); exit_thread(); }