OSDN Git Service

* sigproc.cc (sig_send): Eliminate sync_sig_send synchronization since it
authorcgf <cgf>
Tue, 7 Mar 2000 18:32:40 +0000 (18:32 +0000)
committercgf <cgf>
Tue, 7 Mar 2000 18:32:40 +0000 (18:32 +0000)
didn't seem to affect the "bash hangs" problem.

winsup/cygwin/ChangeLog
winsup/cygwin/mcount.c
winsup/cygwin/sigproc.cc

index 4de0280..77c3a5c 100644 (file)
@@ -1,3 +1,12 @@
+Tue Mar  7 13:31:10 2000  Christopher Faylor <cgf@cygnus.com>
+
+       * sigproc.cc (sig_send): Eliminate sync_sig_send synchronization since
+       it didn't seem to affect the "bash hangs" problem.
+
+Tue Mar  7 13:17:56 2000  Christopher Faylor <cgf@cygnus.com>
+
+       * mcount.c: Remove strace.h include.
+
 Tue Mar  7 00:29:34 2000  Christopher Faylor <cgf@cygnus.com>
 
        Throughout use strace class in place of individual functions and
index a8c5e3e..dcdbc2b 100644 (file)
@@ -37,7 +37,6 @@ static char rcsid[] = "$OpenBSD: mcount.c,v 1.6 1997/07/23 21:11:27 kstailey Exp
 
 #include <sys/param.h>
 #include <sys/types.h>
-#include <sys/strace.h>
 #include <gmon.h>
 
 /*
index bd4ded4..28db48d 100644 (file)
@@ -100,7 +100,6 @@ Static waitq waitq_head = {0, 0, 0, 0, 0, 0, 0};// Start of queue for wait'ing t
 Static waitq waitq_main;               // Storage for main thread
 
 muto NO_COPY *sync_proc_subproc = NULL;        // Control access to subproc stuff
-muto NO_COPY *sync_sig_send = NULL;    // Control access to sig_send
 
 DWORD NO_COPY maintid = 0;             // ID of the main thread
 DWORD NO_COPY sigtid = 0;              // ID of the signal thread
@@ -618,7 +617,6 @@ sigproc_init ()
    * access to the children and zombie arrays.
    */
   sync_proc_subproc = new_muto (FALSE, NULL);
-  sync_sig_send = new_muto (FALSE, NULL);
 
   /* Initialize waitq structure for main thread.  A waitq structure is
    * allocated for each thread that executes a wait to allow multiple threads
@@ -772,7 +770,6 @@ sig_send (pinfo *p, int sig)
     sd = signal_dispatch_storage.create ();
 #endif
 
-  sync_sig_send->acquire ();
   /* Increment the sigtodo array to signify which signal to assert.
    */
   (void) InterlockedIncrement (p->getsigtodo(sig));
@@ -820,7 +817,6 @@ sigproc_printf ("ReleaseSemaphore succeeded");
     {
       rc = WAIT_OBJECT_0;
       sip_printf ("Not waiting for sigcomplete.  its_me %d sig %d", its_me, sig);
-      sync_sig_send->release ();
       if (!its_me)
        ForceCloseHandle (thiscatch);
     }
@@ -829,7 +825,6 @@ sigproc_printf ("ReleaseSemaphore succeeded");
       sip_printf ("Waiting for thiscomplete %p", thiscomplete);
 
       SetLastError (0);
-      sync_sig_send->release ();
 Sleep (0);
       rc = WaitForSingleObject (thiscomplete, WSSC);
       /* Check for strangeness due to this thread being redirected by the