* dll_init.h (per_process::dtors_run): New member.
* dll_init.cc (per_module::run_dtors): Run dtors only once.
(dll::init): Initialize dtors_run flag.
+2002-04-16 Thomas Pfaff <tpfaff@gmx.net>
+
+ * dll_init.h (per_process::dtors_run): New member.
+ * dll_init.cc (per_module::run_dtors): Run dtors only once.
+ (dll::init): Initialize dtors_run flag.
+
Wed Apr 17 11:27:04 2002 Jason Tishler <jason@tishler.net>
* security.cc (get_lsa_srv_inf): Prevent extraneous backslashes for
per_module::run_dtors ()
{
void (**pfunc)() = dtors;
+
+ if( dtors_run )
+ return;
+ dtors_run = true;
+
for (int i = 1; pfunc[i]; i++)
(pfunc[i]) ();
}
/* Why didn't we just import this variable? */
*(p.envptr) = __cygwin_environ;
+ p.dtors_run = false;
+
/* Don't run constructors or the "main" if we've forked. */
if (!in_forkee)
{
char ***envptr;
void (**ctors)(void);
void (**dtors)(void);
+ bool dtors_run;
void *data_start;
void *data_end;
void *bss_start;