]> granicus.if.org Git - python/commitdiff
Issue #16982: Fix --without-threads build failure.
authorStefan Krah <skrah@bytereef.org>
Thu, 17 Jan 2013 16:07:17 +0000 (17:07 +0100)
committerStefan Krah <skrah@bytereef.org>
Thu, 17 Jan 2013 16:07:17 +0000 (17:07 +0100)
Modules/_ssl.c

index 8212cd1aa4ea597ddfccf2a35a9dbac8b09e2a01..268ae93137619589e8291e8a041773092d590717 100644 (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;
 }