On Apr 18, 2006, at 9:55 am, Bas Scheffers wrote:

You need to look into "environments" in the Berkely DB system. The way I see it, you should be able to have concurrent access to one database from
many threads in AOLserver.

The -threads command, which enables thread safety in Berkeley DB environments, is commented out in the tcl driver for building environments from Tcl, unless you build the test mode. And, there's a comment in the C code explaining that the Tcl code isn't thread safe, which is why it's commented out as a command. My own testing shows there to be a thread safety issue around the database handle to the internal info structure, and that gets corrupted under heavy multithreading load.

Now, under C, there's no problem with multithreading in Berkeley DB, just under the Tcl code <sigh>

I'm trying to get the ns_berkeleydb module working, because that does connection pooling, and talks to the BerkeleyDB C api, which is thread safe. But... I'm having build problem with that (it's core dumping) and the developer (Vlad) and I are exchanging email about that.

-john


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.

Reply via email to