* sigproc.cc (sig_send): Eliminate sync_sig_send synchronization since it

didn't seem to affect the "bash hangs" problem.
This commit is contained in:
Christopher Faylor 2000-03-07 18:32:40 +00:00
parent 5abc9b830b
commit cba95ef1c8
3 changed files with 9 additions and 6 deletions

View 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> Tue Mar 7 00:29:34 2000 Christopher Faylor <cgf@cygnus.com>
Throughout use strace class in place of individual functions and Throughout use strace class in place of individual functions and

View 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/param.h>
#include <sys/types.h> #include <sys/types.h>
#include <sys/strace.h>
#include <gmon.h> #include <gmon.h>
/* /*

View 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 Static waitq waitq_main; // Storage for main thread
muto NO_COPY *sync_proc_subproc = NULL; // Control access to subproc stuff 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 maintid = 0; // ID of the main thread
DWORD NO_COPY sigtid = 0; // ID of the signal thread DWORD NO_COPY sigtid = 0; // ID of the signal thread
@ -618,7 +617,6 @@ sigproc_init ()
* access to the children and zombie arrays. * access to the children and zombie arrays.
*/ */
sync_proc_subproc = new_muto (FALSE, NULL); sync_proc_subproc = new_muto (FALSE, NULL);
sync_sig_send = new_muto (FALSE, NULL);
/* Initialize waitq structure for main thread. A waitq structure is /* Initialize waitq structure for main thread. A waitq structure is
* allocated for each thread that executes a wait to allow multiple threads * 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 (); sd = signal_dispatch_storage.create ();
#endif #endif
sync_sig_send->acquire ();
/* Increment the sigtodo array to signify which signal to assert. /* Increment the sigtodo array to signify which signal to assert.
*/ */
(void) InterlockedIncrement (p->getsigtodo(sig)); (void) InterlockedIncrement (p->getsigtodo(sig));
@ -820,7 +817,6 @@ sigproc_printf ("ReleaseSemaphore succeeded");
{ {
rc = WAIT_OBJECT_0; rc = WAIT_OBJECT_0;
sip_printf ("Not waiting for sigcomplete. its_me %d sig %d", its_me, sig); sip_printf ("Not waiting for sigcomplete. its_me %d sig %d", its_me, sig);
sync_sig_send->release ();
if (!its_me) if (!its_me)
ForceCloseHandle (thiscatch); ForceCloseHandle (thiscatch);
} }
@ -829,7 +825,6 @@ sigproc_printf ("ReleaseSemaphore succeeded");
sip_printf ("Waiting for thiscomplete %p", thiscomplete); sip_printf ("Waiting for thiscomplete %p", thiscomplete);
SetLastError (0); SetLastError (0);
sync_sig_send->release ();
Sleep (0); Sleep (0);
rc = WaitForSingleObject (thiscomplete, WSSC); rc = WaitForSingleObject (thiscomplete, WSSC);
/* Check for strangeness due to this thread being redirected by the /* Check for strangeness due to this thread being redirected by the