From: Stefan Krah Date: Thu, 17 Jan 2013 16:07:17 +0000 (+0100) Subject: Issue #16982: Fix --without-threads build failure. X-Git-Tag: v3.4.0a1~1586 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=20d60803d520a40ea79e1f1bb00dd9fb548d761c;p=python Issue #16982: Fix --without-threads build failure. --- diff --git a/Modules/_ssl.c b/Modules/_ssl.c index 8212cd1aa4..268ae93137 100644 --- a/Modules/_ssl.c +++ b/Modules/_ssl.c @@ -2392,15 +2392,17 @@ _servername_callback(SSL *s, int *al, void *args) PyObject *result; /* The high-level ssl.SSLSocket object */ PyObject *ssl_socket; - PyGILState_STATE gstate; const char *servername = SSL_get_servername(s, TLSEXT_NAMETYPE_host_name); - - gstate = PyGILState_Ensure(); +#ifdef WITH_THREAD + PyGILState_STATE gstate = PyGILState_Ensure(); +#endif if (ssl_ctx->set_hostname == NULL) { /* remove race condition in this the call back while if removing the * callback is in progress */ +#ifdef WITH_THREAD PyGILState_Release(gstate); +#endif return SSL_TLSEXT_ERR_OK; } @@ -2449,14 +2451,18 @@ _servername_callback(SSL *s, int *al, void *args) Py_DECREF(result); } +#ifdef WITH_THREAD PyGILState_Release(gstate); +#endif return ret; error: Py_DECREF(ssl_socket); *al = SSL_AD_INTERNAL_ERROR; ret = SSL_TLSEXT_ERR_ALERT_FATAL; +#ifdef WITH_THREAD PyGILState_Release(gstate); +#endif return ret; }