From 167095f6c0e99025764ea231f11b58c0b9f2685d Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Thu, 19 Oct 2000 17:57:28 +0000 Subject: * dcrt0.cc (sigthread::init): Correct overzealous ifdef. * exceptions.cc (call_handler): Avoid calling sigthread acquire lock. * sigproc.h (sigthread): Comment out lock for now. * sync.cc (muto::acquire): Add a minor optimization. --- winsup/cygwin/exceptions.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'winsup/cygwin/exceptions.cc') diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index c4b87f0ec..0054b1a2c 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -709,7 +709,9 @@ call_handler (int sig, struct sigaction& siga, void *handler) int res; int using_mainthread_frame; +#if 0 mainthread.lock->acquire (); +#endif if (sigsave.sig) goto set_pending; @@ -723,7 +725,9 @@ call_handler (int sig, struct sigaction& siga, void *handler) { int i; using_mainthread_frame = 0; +#if 0 mainthread.lock->release (); +#endif hth = myself->getthread2signal (); /* Suspend the thread which will receive the signal. But first ensure that @@ -747,14 +751,18 @@ call_handler (int sig, struct sigaction& siga, void *handler) if (m->unstable () || m->owner () == mainthread.id) goto owns_muto; +#if 0 mainthread.lock->acquire (); +#endif if (mainthread.frame) { ebp = mainthread.frame; /* try to avoid a race */ using_mainthread_frame = 1; goto next; } +#if 0 mainthread.lock->release (); +#endif cx.ContextFlags = CONTEXT_CONTROL | CONTEXT_INTEGER; if (!GetThreadContext (hth, &cx)) @@ -816,7 +824,9 @@ out: sigproc_printf ("ResumeThread returned %d", res); } +#if 0 mainthread.lock->release (); +#endif sigproc_printf ("returning %d", interrupted); return interrupted; -- cgit v1.2.3