[Python-Dev] OpenSSL thread safety when reading files?
Bill Janssen
janssen at parc.com
Sat Sep 8 00:10:10 CEST 2007
> I'm seeing a number of malloc (actully, free) errors, now that I'm
> pounding on the OpenSSL server/client setup with lots of server
> threads and client threads. They all look like either
The issue seems to be that we assume OpenSSL is thread-safe (that is,
we call Py_BEGIN_ALLOW_THREADS / Py_END_ALLOW_THREADS), but the _ssl.c
code never did what was necessary to support that assumption. See
http://www.openssl.org/docs/crypto/threads.html#DESCRIPTION.
My analysis is that we need to add lock and unlock functions to the
OpenSSL initialization code we currently use, which looks like this:
/* Init OpenSSL */
SSL_load_error_strings();
SSLeay_add_ssl_algorithms();
Or, just not allow threads, which seems wrong.
Bill
More information about the Python-Dev
mailing list