@@ -339,9 +339,6 @@ typedef struct {
339339     * and shutdown methods check for chained exceptions. 
340340     */ 
341341    PyObject  * exc ;
342-     /* Lock to synchronize calls when the thread state is detached. 
343-        See also gh-134698. */ 
344-     PyMutex  tstate_mutex ;
345342} PySSLSocket ;
346343
347344#define  PySSLSocket_CAST (op )    ((PySSLSocket *)(op))
@@ -891,7 +888,6 @@ newPySSLSocket(PySSLContext *sslctx, PySocketSockObject *sock,
891888    self -> server_hostname  =  NULL ;
892889    self -> err  =  err ;
893890    self -> exc  =  NULL ;
894-     self -> tstate_mutex  =  (PyMutex ){0 };
895891
896892    /* Make sure the SSL error state is initialized */ 
897893    ERR_clear_error ();
@@ -967,12 +963,12 @@ newPySSLSocket(PySSLContext *sslctx, PySocketSockObject *sock,
967963        BIO_set_nbio (SSL_get_wbio (self -> ssl ), 1 );
968964    }
969965
970-     PySSL_BEGIN_ALLOW_THREADS ( self ) 
966+     Py_BEGIN_ALLOW_THREADS ; 
971967    if  (socket_type  ==  PY_SSL_CLIENT )
972968        SSL_set_connect_state (self -> ssl );
973969    else 
974970        SSL_set_accept_state (self -> ssl );
975-     PySSL_END_ALLOW_THREADS ( self ) 
971+     Py_END_ALLOW_THREADS ; 
976972
977973    self -> socket_type  =  socket_type ;
978974    if  (sock  !=  NULL ) {
@@ -1041,10 +1037,11 @@ _ssl__SSLSocket_do_handshake_impl(PySSLSocket *self)
10411037    /* Actually negotiate SSL connection */ 
10421038    /* XXX If SSL_do_handshake() returns 0, it's also a failure. */ 
10431039    do  {
1044-         PySSL_BEGIN_ALLOW_THREADS ( self ) 
1040+         Py_BEGIN_ALLOW_THREADS 
10451041        ret  =  SSL_do_handshake (self -> ssl );
10461042        err  =  _PySSL_errno (ret  <  1 , self -> ssl , ret );
1047-         PySSL_END_ALLOW_THREADS (self )
1043+         Py_END_ALLOW_THREADS ;
1044+         _PySSL_FIX_ERRNO ;
10481045        self -> err  =  err ;
10491046
10501047        if  (PyErr_CheckSignals ())
@@ -2514,10 +2511,11 @@ _ssl__SSLSocket_write_impl(PySSLSocket *self, Py_buffer *b)
25142511    }
25152512
25162513    do  {
2517-         PySSL_BEGIN_ALLOW_THREADS ( self ) 
2514+         Py_BEGIN_ALLOW_THREADS ; 
25182515        retval  =  SSL_write_ex (self -> ssl , b -> buf , (size_t )b -> len , & count );
25192516        err  =  _PySSL_errno (retval  ==  0 , self -> ssl , retval );
2520-         PySSL_END_ALLOW_THREADS (self )
2517+         Py_END_ALLOW_THREADS ;
2518+         _PySSL_FIX_ERRNO ;
25212519        self -> err  =  err ;
25222520
25232521        if  (PyErr_CheckSignals ())
@@ -2575,10 +2573,11 @@ _ssl__SSLSocket_pending_impl(PySSLSocket *self)
25752573    int  count  =  0 ;
25762574    _PySSLError  err ;
25772575
2578-     PySSL_BEGIN_ALLOW_THREADS ( self ) 
2576+     Py_BEGIN_ALLOW_THREADS ; 
25792577    count  =  SSL_pending (self -> ssl );
25802578    err  =  _PySSL_errno (count  <  0 , self -> ssl , count );
2581-     PySSL_END_ALLOW_THREADS (self )
2579+     Py_END_ALLOW_THREADS ;
2580+     _PySSL_FIX_ERRNO ;
25822581    self -> err  =  err ;
25832582
25842583    if  (count  <  0 )
@@ -2669,10 +2668,11 @@ _ssl__SSLSocket_read_impl(PySSLSocket *self, Py_ssize_t len,
26692668        deadline  =  _PyDeadline_Init (timeout );
26702669
26712670    do  {
2672-         PySSL_BEGIN_ALLOW_THREADS ( self ) 
2671+         Py_BEGIN_ALLOW_THREADS ; 
26732672        retval  =  SSL_read_ex (self -> ssl , mem , (size_t )len , & count );
26742673        err  =  _PySSL_errno (retval  ==  0 , self -> ssl , retval );
2675-         PySSL_END_ALLOW_THREADS (self )
2674+         Py_END_ALLOW_THREADS ;
2675+         _PySSL_FIX_ERRNO ;
26762676        self -> err  =  err ;
26772677
26782678        if  (PyErr_CheckSignals ())
@@ -2771,7 +2771,7 @@ _ssl__SSLSocket_shutdown_impl(PySSLSocket *self)
27712771    }
27722772
27732773    while  (1 ) {
2774-         PySSL_BEGIN_ALLOW_THREADS ( self ) 
2774+         Py_BEGIN_ALLOW_THREADS ; 
27752775        /* Disable read-ahead so that unwrap can work correctly. 
27762776         * Otherwise OpenSSL might read in too much data, 
27772777         * eating clear text data that happens to be 
@@ -2784,7 +2784,8 @@ _ssl__SSLSocket_shutdown_impl(PySSLSocket *self)
27842784            SSL_set_read_ahead (self -> ssl , 0 );
27852785        ret  =  SSL_shutdown (self -> ssl );
27862786        err  =  _PySSL_errno (ret  <  0 , self -> ssl , ret );
2787-         PySSL_END_ALLOW_THREADS (self )
2787+         Py_END_ALLOW_THREADS ;
2788+         _PySSL_FIX_ERRNO ;
27882789        self -> err  =  err ;
27892790
27902791        /* If err == 1, a secure shutdown with SSL_shutdown() is complete */ 
0 commit comments