Thanks for the clarification. In other words: avoid Win32::OLE in modperl?


Jan Dubois wrote:
On Fri, 08 Jun 2007, Foo JH wrote:
I wonder if I am alone in experiencing this. Simply put: putting 'use
Win32::OLE' in my modperl package will cause the Apache to fault. It
basically can't start at all. A window will pop up complaining about
'Apache HTTP Server has encountered a problem and needs to close'. No
entry into the error log.

Does anyone know if this can be worked around?

Using Win32::OLE in a multi-threaded way is generally not safe.  It is
definitely not working correctly if you use the threads.pm module or
fork() emulation.

It could potentially work in a multi-threaded environment if each
interpreter is created independently (not using perl_clone()).  When
using the COM apartment threading model then each interpreter also
needs to be bound to a specific thread, as it is then invalid to
invoke methods on a COM object from any other thread than the one
that created it.

Cheers,
-Jan


Reply via email to