Unloading a dll does not clean up properly
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.
Trac metadata
Trac field | Value |
---|---|
Version | 6.4.2 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Runtime System |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | Multiple |
Architecture | Multiple |