diff options
author | Christopher Faylor <me@cgf.cx> | 2008-08-04 15:55:32 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2008-08-04 15:55:32 +0000 |
commit | bee18f45fd83bc2432a856b116e9b85b42c140d2 (patch) | |
tree | 077d5bc87d460b2c646f658014bc44ca9abe6428 /winsup/cygwin/dll_init.cc | |
parent | ea8432dfb1f2d00e46847e676706823dbfd1532c (diff) | |
download | cygnal-bee18f45fd83bc2432a856b116e9b85b42c140d2.tar.gz cygnal-bee18f45fd83bc2432a856b116e9b85b42c140d2.tar.bz2 cygnal-bee18f45fd83bc2432a856b116e9b85b42c140d2.zip |
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.
Diffstat (limited to 'winsup/cygwin/dll_init.cc')
-rw-r--r-- | winsup/cygwin/dll_init.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/winsup/cygwin/dll_init.cc b/winsup/cygwin/dll_init.cc index 22c64e1e2..9a867b5d8 100644 --- a/winsup/cygwin/dll_init.cc +++ b/winsup/cygwin/dll_init.cc @@ -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 (); } |