Victor Duchovni wrote:

> Locking callbacks are needed for the reference counting in the CRYPTO
> library to not get messed up. Various bits of context are associated
> withe the new SSL object by reference.
> 

Locking callbacks are required, period. If you are using OpenSSL with
multiple threads, you must have locking callbacks.

> These "read-only" operations modify reference counts...

Right, that's what I mean by "notionally" read-only. They behave as if they
were read-only, thanks to OpenSSL's internal locking.

This is pretty much how every library that supports multi-threading works.
Operations that are notionally read-only are made to act as if they were in
fact read-only through internal locks in the library. So you can drop-in
replace a copy-on-write string class for a normal string class without
having to worry that a string may be modified by a modification to another
string while you're trying to read it -- the library fixes that for you.

DS



______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to