Continuing with the "true multithreading" idea, I have some doubts
about what the documentation says about implementing static locks. I
read the old doc "Network Security with OpenSSL" from O'reilly about
the OpenSSL 0.9.7 library. I didn't finish it, but I focus on the API
part, chapter 4 and chapter 5.

When talking about thead-safeness and the developer responsability.
Say that I implement static locking callbacks on my application with
non-blocking BIO.

Should I still take care on having my own mutexes for locking access
to an SSL client structure while another thread can eventually access
to it with I/O OpenSSL functions?

Does this callbacks only locks specific OpenSSL structures internally
and should I be aware of locking when reading/writing from/to a
client?

If this callbacks locks on a write operation, does this means that I
can't read until the lock is release although I'm reading from a
different client than i'm writing to?

These 3 questions are related on each answer. If the callbacks are
only to lock internal structures that I/O operations (or anyone else)
uses, then I know that I must lock the specific client BIO and while
I'm reading/writing on this BIO another thread could be
reading/writing to another one. Just that internally maybe it will
block on accessing to OpenSSL structures by the callbacks mentioned
above. Is this how it works?

Regards,
-- 
If you want freedom, compile the source. Get gentoo.

Sebastián Treu
http://labombiya.com.ar
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to