Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^2: Perl crashs always during global destruction when using WIN32 OLE object in multithread

by nikosv (Hermit)
on Mar 03, 2011 at 12:28 UTC ( #891214=note: print w/ replies, xml ) Need Help??


in reply to Re: Perl crashs always during global destruction when using WIN32 OLE object in multithread
in thread Perl crashs always during global destruction when using WIN32 OLE object in multithread

COM+ dlls use the registry to indicate what threading model STA,MTA,Free etc they use, and if they are in-proc (dll) or out-of proc (exe).

So better check the thread model first to see if it even can be accessed by multiple threads and if so then set your OLE initialization with the appropriate COINT_ value

Normally even if the dll is not multi-thread aware it should pose no problem since it would serialize the calls through the STA, but there is so much going on behind the scene, especially COM+ objects being prone to re-entrancy issues,that make Corion's advise (use OLE from one thread) the one to follow


Comment on Re^2: Perl crashs always during global destruction when using WIN32 OLE object in multithread

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://891214]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (11)
As of 2014-09-23 12:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (219 votes), past polls