From b867b11de313ea41e0b4e0cfef22be03897c1ca6 Mon Sep 17 00:00:00 2001 From: "roberto@maverick64" Date: Thu, 3 Mar 2011 17:17:27 +0100 Subject: [PATCH] fixed python2.x threads --- plugins/python/gil.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/python/gil.c b/plugins/python/gil.c index be21b8f5..0ee68b01 100644 --- a/plugins/python/gil.c +++ b/plugins/python/gil.c @@ -4,20 +4,22 @@ extern struct uwsgi_server uwsgi; extern struct uwsgi_python up; void gil_real_get() { - /* +#ifndef PYTHREE PyEval_AcquireLock(); PyThreadState_Swap((PyThreadState *) pthread_getspecific(up.upt_gil_key)); - */ +#else PyEval_RestoreThread((PyThreadState *) pthread_getspecific(up.upt_gil_key)); +#endif } void gil_real_release() { - /* +#ifndef PYTHREE pthread_setspecific(up.upt_gil_key, (void *) PyThreadState_Swap(NULL)); PyEval_ReleaseLock(); - */ +#else pthread_setspecific(up.upt_gil_key, (void *) PyThreadState_Get()); PyEval_SaveThread(); +#endif } void gil_fake_get() {}