@@ -332,9 +332,6 @@ typedef struct {
332
332
* and shutdown methods check for chained exceptions.
333
333
*/
334
334
PyObject * exc ;
335
- /* Lock to synchronize calls when the thread state is detached.
336
- See also gh-134698. */
337
- PyMutex tstate_mutex ;
338
335
} PySSLSocket ;
339
336
340
337
typedef struct {
@@ -846,7 +843,6 @@ newPySSLSocket(PySSLContext *sslctx, PySocketSockObject *sock,
846
843
self -> server_hostname = NULL ;
847
844
self -> err = err ;
848
845
self -> exc = NULL ;
849
- self -> tstate_mutex = (PyMutex ){0 };
850
846
851
847
/* Make sure the SSL error state is initialized */
852
848
ERR_clear_error ();
@@ -919,12 +915,12 @@ newPySSLSocket(PySSLContext *sslctx, PySocketSockObject *sock,
919
915
BIO_set_nbio (SSL_get_wbio (self -> ssl ), 1 );
920
916
}
921
917
922
- PySSL_BEGIN_ALLOW_THREADS ( self )
918
+ Py_BEGIN_ALLOW_THREADS ;
923
919
if (socket_type == PY_SSL_CLIENT )
924
920
SSL_set_connect_state (self -> ssl );
925
921
else
926
922
SSL_set_accept_state (self -> ssl );
927
- PySSL_END_ALLOW_THREADS ( self )
923
+ Py_END_ALLOW_THREADS ;
928
924
929
925
self -> socket_type = socket_type ;
930
926
if (sock != NULL ) {
@@ -993,10 +989,11 @@ _ssl__SSLSocket_do_handshake_impl(PySSLSocket *self)
993
989
/* Actually negotiate SSL connection */
994
990
/* XXX If SSL_do_handshake() returns 0, it's also a failure. */
995
991
do {
996
- PySSL_BEGIN_ALLOW_THREADS ( self )
992
+ Py_BEGIN_ALLOW_THREADS
997
993
ret = SSL_do_handshake (self -> ssl );
998
994
err = _PySSL_errno (ret < 1 , self -> ssl , ret );
999
- PySSL_END_ALLOW_THREADS (self )
995
+ Py_END_ALLOW_THREADS ;
996
+ _PySSL_FIX_ERRNO ;
1000
997
self -> err = err ;
1001
998
1002
999
if (PyErr_CheckSignals ())
@@ -2462,10 +2459,11 @@ _ssl__SSLSocket_write_impl(PySSLSocket *self, Py_buffer *b)
2462
2459
}
2463
2460
2464
2461
do {
2465
- PySSL_BEGIN_ALLOW_THREADS ( self )
2462
+ Py_BEGIN_ALLOW_THREADS ;
2466
2463
retval = SSL_write_ex (self -> ssl , b -> buf , (size_t )b -> len , & count );
2467
2464
err = _PySSL_errno (retval == 0 , self -> ssl , retval );
2468
- PySSL_END_ALLOW_THREADS (self )
2465
+ Py_END_ALLOW_THREADS ;
2466
+ _PySSL_FIX_ERRNO ;
2469
2467
self -> err = err ;
2470
2468
2471
2469
if (PyErr_CheckSignals ())
@@ -2523,10 +2521,11 @@ _ssl__SSLSocket_pending_impl(PySSLSocket *self)
2523
2521
int count = 0 ;
2524
2522
_PySSLError err ;
2525
2523
2526
- PySSL_BEGIN_ALLOW_THREADS ( self )
2524
+ Py_BEGIN_ALLOW_THREADS ;
2527
2525
count = SSL_pending (self -> ssl );
2528
2526
err = _PySSL_errno (count < 0 , self -> ssl , count );
2529
- PySSL_END_ALLOW_THREADS (self )
2527
+ Py_END_ALLOW_THREADS ;
2528
+ _PySSL_FIX_ERRNO ;
2530
2529
self -> err = err ;
2531
2530
2532
2531
if (count < 0 )
@@ -2617,10 +2616,11 @@ _ssl__SSLSocket_read_impl(PySSLSocket *self, Py_ssize_t len,
2617
2616
deadline = _PyDeadline_Init (timeout );
2618
2617
2619
2618
do {
2620
- PySSL_BEGIN_ALLOW_THREADS ( self )
2619
+ Py_BEGIN_ALLOW_THREADS ;
2621
2620
retval = SSL_read_ex (self -> ssl , mem , (size_t )len , & count );
2622
2621
err = _PySSL_errno (retval == 0 , self -> ssl , retval );
2623
- PySSL_END_ALLOW_THREADS (self )
2622
+ Py_END_ALLOW_THREADS ;
2623
+ _PySSL_FIX_ERRNO ;
2624
2624
self -> err = err ;
2625
2625
2626
2626
if (PyErr_CheckSignals ())
@@ -2719,7 +2719,7 @@ _ssl__SSLSocket_shutdown_impl(PySSLSocket *self)
2719
2719
}
2720
2720
2721
2721
while (1 ) {
2722
- PySSL_BEGIN_ALLOW_THREADS ( self )
2722
+ Py_BEGIN_ALLOW_THREADS ;
2723
2723
/* Disable read-ahead so that unwrap can work correctly.
2724
2724
* Otherwise OpenSSL might read in too much data,
2725
2725
* eating clear text data that happens to be
@@ -2732,7 +2732,8 @@ _ssl__SSLSocket_shutdown_impl(PySSLSocket *self)
2732
2732
SSL_set_read_ahead (self -> ssl , 0 );
2733
2733
ret = SSL_shutdown (self -> ssl );
2734
2734
err = _PySSL_errno (ret < 0 , self -> ssl , ret );
2735
- PySSL_END_ALLOW_THREADS (self )
2735
+ Py_END_ALLOW_THREADS ;
2736
+ _PySSL_FIX_ERRNO ;
2736
2737
self -> err = err ;
2737
2738
2738
2739
/* If err == 1, a secure shutdown with SSL_shutdown() is complete */
0 commit comments