* 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:
parent
5abc9b830b
commit
cba95ef1c8
|
@ -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
|
||||||
|
|
|
@ -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>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue