|laziness, impatience, and hubris|
AS 5.8 + PDK + threads + ActiveXby Nitrox (Chaplain)
|on Nov 23, 2002 at 19:22 UTC ( #215410=perlquestion: print w/replies, xml )||Need Help??|
Nitrox has asked for the wisdom of the Perl Monks concerning the following question:
The short program below is a test stub that I've written to re-create an issue I'm having with an ActiveX control I'm developing with ActiveState Perl 5.8 and the Perl Dev Kit (both beta).
When compiled, the stub runs fine until I exit the 3rd-party app that called CreateObject() on my DLL. At that point Dr.Watson pops and the application crashes.
Debugging an ActiveX control is proving to be a bit difficult and is the reason why I redirect stdout/err to a file at the beggining of my test stub.
This is the basic "life" of my DLL:
These are the log results with the code as is below:
You'll notice that the DLL object is destroyed before the child thread has a chance to exit the while() loop. The 'print "Exiting...\n";' never gets evaluated and it displays an message about other threads exisiting.
If I uncomment the sleep() call in ShutdownIO() then the debug shows that the child thread exits it's while() loop...
But then the "Free to wrong pool..." messages appear.
Does anyone see something painfully obvious that I'm doing wrong?
Back to Seekers of Perl Wisdom