Opened 19 years ago

Last modified 18 years ago

#103 closed defect

Exit list handlers registered from dll are not released on DosFreeModule — at Initial Version

Reported by: Yuri Dario Owned by: bird
Priority: normal Milestone: libc-0.6.2
Component: libc-backend Version: 0.6
Severity: normal Keywords: dlclose DosFreeModule atexit on_exit
Cc:

Description

Scenario: a DLL register an exit list function using atexit() and the dll is loaded using DosLoadModule; when the executable calls DosFreeModule, the exit list handler is not executed nor removed from the list of callbacks. When the executable terminates, it tries to call the dll exit callback and a crash occurs since the dll code is already unloaded from memory.

This doesn't happen when the dll is linked at compile time.

Testcase attached.

Change History (1)

by Yuri Dario, 19 years ago

Attachment: dll_exit.zip added
Note: See TracTickets for help on using tickets.