I'm making progress slowly (not my main project). I've run into a bit of a problem: the dynlock callback setting cannot be made thread-safe due to the setter API's using three functions to set three related callbacks.
Also, I'm not sure that the dynlocks need a default implementation. It seems they don't, at least not as far as *apps* are concerned. Please let me know, though I'm inclined to provide a default implementation anyways, just because it's no big deal. A few notes and questions: - Locks in OpenSSL are really reader-writer locks, but the sample code in crypto/threads/*.c uses mutexes only. How important is it that reader/writer locks be used instead of exclusive locks? - The add_lock stuff should just use OPENSSL_atomic_add() wherever it exists. How would I determine at build-time (in ./Configure and in ./crypto/lock.c) whether OPENSSL_atomic_add is available? - I'll be adding a single setter for dynlock callbacks, and deprecating the old ones. Any objections? - As I get closer to having code that can be tested... I can provide tests of the one-time initialization of things, but it'd be nice to test threaded functionality in general -- is there such a general test? If so, please point me to it. Nico -- ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org