* dcrt0.cc (dll_crt0_1): Initialize wincap and check for sanity before running

global ctors.
* wincap.h (wincap): Eliminate constructor.  Default is to zero memory, anyway.
* wincap.cc (wincap): Copy this on fork to avoid initialization in forked
processes.
This commit is contained in:
Christopher Faylor 2002-06-10 17:08:09 +00:00
parent 3d78e129b7
commit fe4283af7a
4 changed files with 12 additions and 4 deletions

View File

@ -1,3 +1,12 @@
2002-06-10 Christopher Faylor <cgf@redhat.com>
* dcrt0.cc (dll_crt0_1): Initialize wincap and check for sanity before
running global ctors.
* wincap.h (wincap): Eliminate constructor. Default is to zero memory,
anyway.
* wincap.cc (wincap): Copy this on fork to avoid initialization in
forked processes.
2002-06-10 Corinna Vinschen <corinna@vinschen.de>
* fhandler.h (fhandler_socket::fixup_after_fork): Revert patch from

View File

@ -555,12 +555,12 @@ dll_crt0_1 ()
/* Initialize SIGSEGV handling, etc. */
init_exceptions (&cygwin_except_entry);
do_global_ctors (&__CTOR_LIST__, 1);
/* Set the os_being_run global. */
wincap.init ();
check_sanity_and_sync (user_data);
do_global_ctors (&__CTOR_LIST__, 1);
/* Nasty static stuff needed by newlib -- point to a local copy of
the reent stuff.
Note: this MUST be done here (before the forkee code) as the

View File

@ -418,7 +418,7 @@ static NO_COPY wincaps wincap_xp = {
has_process_io_counters:true,
};
wincapc NO_COPY wincap;
wincapc wincap;
void
wincapc::init ()

View File

@ -56,7 +56,6 @@ class wincapc
void *caps;
public:
wincapc (): caps (NULL) {}
void init ();
void set_chunksize (DWORD nchunksize);