in reply to loss of dll in a multi threaded app

Try adding strict and warnings to your script and I think (but can't test as I don't have the requisite module) that this line

$cxnid = Win32::RASE::RasDial("UE01", undef, "jwetherill", "abc123 +", undef, undef);

will issue an error: "Invalid value for shared scalar at ... ";

The problem is that you are trying to share objects (blessed references) across threads, and that is not allowed.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
The "good enough" maybe good enough for the now, and perfection maybe unobtainable, but that should not preclude us from striving for perfection, when time, circumstance or desire allow.