* sigproc.cc (sig_send): Set PIPE_NOWAIT for pipes which are not us.
This commit is contained in:
parent
891b1e7e22
commit
1147c2111d
|
@ -1,3 +1,7 @@
|
||||||
|
2013-12-17 Christopher Faylor <me.cygwin2013@cgf.cx>
|
||||||
|
|
||||||
|
* sigproc.cc (sig_send): Set PIPE_NOWAIT for pipes which are not us.
|
||||||
|
|
||||||
2013-12-17 Christopher Faylor <me.cygwin2013@cgf.cx>
|
2013-12-17 Christopher Faylor <me.cygwin2013@cgf.cx>
|
||||||
|
|
||||||
* fhandler.h (fhandler_pty_master::~fhandler_pty_master): Delete.
|
* fhandler.h (fhandler_pty_master::~fhandler_pty_master): Delete.
|
||||||
|
|
|
@ -553,7 +553,16 @@ sig_send (_pinfo *p, siginfo_t& si, _cygtls *tls)
|
||||||
}
|
}
|
||||||
VerifyHandle (sendsig);
|
VerifyHandle (sendsig);
|
||||||
if (!communing)
|
if (!communing)
|
||||||
CloseHandle (hp);
|
{
|
||||||
|
CloseHandle (hp);
|
||||||
|
DWORD flag = PIPE_NOWAIT;
|
||||||
|
/* Set PIPE_NOWAIT here to avoid blocking when sending a signal.
|
||||||
|
(Yes, I know MSDN says not to use this)
|
||||||
|
We can't ever block here because it causes a deadlock when
|
||||||
|
debugging with gdb. */
|
||||||
|
BOOL res = SetNamedPipeHandleState (sendsig, &flag, NULL, NULL);
|
||||||
|
sigproc_printf ("%d = SetNamedPipeHandleState (%y, PIPE_NOWAIT, NULL, NULL)", res, sendsig);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
si._si_commune._si_process_handle = hp;
|
si._si_commune._si_process_handle = hp;
|
||||||
|
|
Loading…
Reference in New Issue