Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2000-02-24 05:49:44 +0300
committerChristopher Faylor <me@cgf.cx>2000-02-24 05:49:44 +0300
commitf02f1f144422e878a30befcdda6f10df4b065663 (patch)
tree805a745abe4fdbf1228cd38578e8109c1242bd83 /winsup/cygwin/init.cc
parent58dabf5040b1253b837ec0e563904d7d5254a29f (diff)
* exceptions.cc (interruptible): Change method for determining if something is
interruptible. (call_handler): Avoid suspending a thread if it owns a mutex. Only set signal_arrived if the thread was actually interrupted. (events_init): Initialize module information needed by interruptible(). (sigdelayed): Don't call sig_dispatch_pending since it could screw up * init.cc (dll_entry): Record module handle of main for use by interruptible(). (proc_subproc): Reorganize handling of terminated child so that the bulk of the processing comes from the signal thread. (wait_sig): Force processing of waiting threads if SIGCHLD is not processed. * sync.cc (muto::release): Set tid == 0 after lock is released or signal processor will be confused.
Diffstat (limited to 'winsup/cygwin/init.cc')
-rw-r--r--winsup/cygwin/init.cc19
1 files changed, 5 insertions, 14 deletions
diff --git a/winsup/cygwin/init.cc b/winsup/cygwin/init.cc
index 3a33bd15b..2df50676d 100644
--- a/winsup/cygwin/init.cc
+++ b/winsup/cygwin/init.cc
@@ -1,6 +1,6 @@
/* init.cc for WIN32.
- Copyright 1996, 1997, 1998, 1999 Cygnus Solutions.
+ Copyright 1996, 1997, 1998, 1999, 2000 Cygnus Solutions.
This file is part of Cygwin.
@@ -12,26 +12,17 @@ details. */
#include <ctype.h>
#include "winsup.h"
-extern "C"
-{
- int WINAPI dll_entry (HANDLE h, DWORD reason, void *ptr);
-};
-
-extern "C" void *export_malloc (unsigned int);
-extern "C" void *export_realloc (void *,unsigned int);
-extern "C" void *export_calloc (unsigned int,unsigned int);
-extern "C" void export_free (void *);
-
-extern void do_global_ctors (void (**in_pfunc)(), int force);
+extern HMODULE cygwin_hmodule;
int NO_COPY dynamically_loaded;
-int
-WINAPI dll_entry (HANDLE, DWORD reason, void *static_load)
+extern "C" int
+WINAPI dll_entry (HANDLE h, DWORD reason, void *static_load)
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
+ cygwin_hmodule = (HMODULE) h;
dynamically_loaded = (static_load == NULL);
break;
case DLL_THREAD_ATTACH: