* sigproc.cc (sig_send): Set PIPE_NOWAIT for pipes which are not us.
This commit is contained in:
@ -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;
|
||||
|
Reference in New Issue
Block a user