https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=e02a0f729579f11a2cc7442602b3a21359700531
commit e02a0f729579f11a2cc7442602b3a21359700531 Author: Ken Brown <[email protected]> Date: Fri Mar 22 19:30:40 2019 +0000 Cygwin: FIFO: update fixup_after_fork Fixup each client. Reset listen_client_thr and lct_termination_evt. Diff: --- winsup/cygwin/fhandler_fifo.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/winsup/cygwin/fhandler_fifo.cc b/winsup/cygwin/fhandler_fifo.cc index c295c23..7a592aa 100644 --- a/winsup/cygwin/fhandler_fifo.cc +++ b/winsup/cygwin/fhandler_fifo.cc @@ -850,6 +850,15 @@ fhandler_fifo::fixup_after_fork (HANDLE parent) fhandler_base::fixup_after_fork (parent); fork_fixup (parent, read_ready, "read_ready"); fork_fixup (parent, write_ready, "write_ready"); + for (int i = 0; i < nclients; i++) + { + client[i].fh->fhandler_base::fixup_after_fork (parent); + fork_fixup (parent, client[i].connect_evt, "connect_evt"); + fork_fixup (parent, client[i].dummy_evt, "dummy_evt"); + } + listen_client_thr = NULL; + lct_termination_evt = NULL; + fifo_client_unlock (); } void
