* dll_init.cc (reserve_upto): Remove.

(release_upto): Ditto.
(dll_list::reserve_space): New function to reserve space needed by DLL_LOAD
dlls early in the fork process.
(dll_list::load_after_fork): Rewrite to use recursion for tracking reservations
made while trying to make dlls land where they belong.
(dll_list::load_after_fork_impl): Ditto.
(dll_list::alloc): Initialize image base field.
* dll_init.h (struct dll_list): declare new functions.
(dll::image_size): New member.
This commit is contained in:
Christopher Faylor
2011-05-28 20:27:56 +00:00
parent a92339ab63
commit 17a5c8c36e
3 changed files with 34 additions and 6 deletions

View File

@ -52,6 +52,7 @@ struct dll
int count;
bool has_dtors;
dll_type type;
DWORD image_size;
long ndeps;
dll** deps;
PWCHAR modname;