Issue #16982: Fix --without-threads build failure.

This commit is contained in:
Stefan Krah 2013-01-17 17:07:17 +01:00
parent 6a56b8ab9c
commit 20d60803d5
1 changed files with 9 additions and 3 deletions

View File

@ -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;
}