What is the problem you are trying to solve? Who has asked for it?
I think it is a fool's errand to try to make it possible to "share" every data
structure across threads. You can't get it exactly right, you need
higher-level information that is in the application, not at the OpenSSL
level. Suppose you add a lock to LHASH -- what happens for lh_doall -- do you
unlock when the function is called -- you can't, because someone might delete
an element you're iterating over -- or do you keep it locked throughout the
function -- so the function better not try to retrieve anything else from the
hash?
And that's just one example. But it indicates why (a) recursive locks can be
needed; (b) why a simple lock, versus read/write, isn't enough; (c) shows the
dangers of sharing objects across threads.
I believe other matters -- the build/configure environment -- are more
pressing. But again, I would like to know what problem you are trying to
solve.
/r$
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]