Thank you for your answer. I should have read the new doc...

 
>It is I<possibly> safe to have multiple threads load
>the DBI module I<after> they have been created, but the DBI probably
>won't be providing any protection against multiple threads entering a
>databases own library code. As many databases don't have thread
>safe libraries that is likely to cause problems.

  I've tried with DBD-Oracle-1.12 (and Oracle-8.1.5). I load DBI and DBD in each 
thread, in an "eval" statement, hoping that that will force separate loading for each 
thread (am I wrong?); but I get a core dump after a few minutes of execution, in a 
very reproducible manner.

  As a last try, I will write a small "wrapper" to protect the DBI module from 
concurrent access: each method that begins a request will put a lock on the driver, 
each one that ends a request will unlock it.
  That won't be a very robust protection, but that may help...

  If that works (?!?), I will post my small module to the list.


>Summary: Using DBI with perl threads of any kind is not recommended
>for production environments.

  That seems true...

-- 
Jeremy JUST  <[EMAIL PROTECTED]>

Reply via email to