Unloading a dll does not clean up properly
|Reported by:||guest||Owned by:|
|Type of failure:||None/Unknown||Test Case:|
|Related Tickets:||Differential Rev(s):|
When a DLL is loaded it calls initUserSignals() and initDefaultHandlers(). This sets up some signal (event) handlers. When the DLL is unloaded it does not remove those handlers. This means that if the events happen after the DLL has been unloaded it will dispatch into non-loaded code. This is, obviously, bad.
It's very dubious if a DLL should install these handlers at all. At least there should be a flag if they should be installed or not. And if installed they should be removed on exit.