Changes suggested by Dave Korn.

* dcrt0.cc (cygwin_exit): Remove (hopefully) extraneous call to
dll_global_dtors.
* dll_init.cc (dll_global_dtors): Run destructors in reverse dependency/load
order.
* dll_init.h (dll_list): Add dll_global_dtors as a friend.
This commit is contained in:
Christopher Faylor
2008-08-04 15:55:32 +00:00
parent ea8432dfb1
commit bee18f45fd
4 changed files with 11 additions and 2 deletions

View File

@@ -32,7 +32,7 @@ dll_global_dtors ()
int recorded = dll_global_dtors_recorded;
dll_global_dtors_recorded = false;
if (recorded)
for (dll *d = dlls.istart (DLL_ANY); d; d = dlls.inext ())
for (dll *d = dlls.end; d != &dlls.start; d = d->prev)
d->p.run_dtors ();
}