Cygwin: FIFO: slightly change the use of write_ready
Make it a manual reset event. It's only used once to allow a reader to open, and there's no reason to ever reset it. Defensively set it when a client connection is recorded, even though it should be set by the writer that connected.
This commit is contained in:
parent
6e7e82fee7
commit
2357091617
@ -298,6 +298,7 @@ fhandler_fifo::listen_client ()
|
|||||||
void
|
void
|
||||||
fhandler_fifo::record_connection (fifo_client_handler& fc)
|
fhandler_fifo::record_connection (fifo_client_handler& fc)
|
||||||
{
|
{
|
||||||
|
SetEvent (write_ready);
|
||||||
fc.state = fc_connected;
|
fc.state = fc_connected;
|
||||||
nconnected++;
|
nconnected++;
|
||||||
fc.fh->set_nonblocking (true);
|
fc.fh->set_nonblocking (true);
|
||||||
@ -489,7 +490,7 @@ fhandler_fifo::open (int flags, mode_t)
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
npbuf[0] = 'w';
|
npbuf[0] = 'w';
|
||||||
if (!(write_ready = CreateEvent (sa_buf, false, false, npbuf)))
|
if (!(write_ready = CreateEvent (sa_buf, true, false, npbuf)))
|
||||||
{
|
{
|
||||||
debug_printf ("CreateEvent for %s failed, %E", npbuf);
|
debug_printf ("CreateEvent for %s failed, %E", npbuf);
|
||||||
res = error_set_errno;
|
res = error_set_errno;
|
||||||
|
Loading…
Reference in New Issue
Block a user