* 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>
|
||||
|
||||
* fhandler.h (fhandler_pty_master::~fhandler_pty_master): Delete.
|
||||
|
|
|
@ -553,7 +553,16 @@ sig_send (_pinfo *p, siginfo_t& si, _cygtls *tls)
|
|||
}
|
||||
VerifyHandle (sendsig);
|
||||
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
|
||||
{
|
||||
si._si_commune._si_process_handle = hp;
|
||||
|
|
Loading…
Reference in New Issue