aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Brown <kbrown@cornell.edu>2019-03-22 19:30:40 +0000
committerCorinna Vinschen <corinna@vinschen.de>2019-03-27 14:01:45 +0100
commite02a0f729579f11a2cc7442602b3a21359700531 (patch)
tree792c92309d5cb956b18d1515f94e1a0f36bc3da3
parent035bf7dc84d98f6f643ba2dd00b08c34dc8eb984 (diff)
downloadnewlib-e02a0f729579f11a2cc7442602b3a21359700531.zip
newlib-e02a0f729579f11a2cc7442602b3a21359700531.tar.gz
newlib-e02a0f729579f11a2cc7442602b3a21359700531.tar.bz2
Cygwin: FIFO: update fixup_after_fork
Fixup each client. Reset listen_client_thr and lct_termination_evt.
-rw-r--r--winsup/cygwin/fhandler_fifo.cc9
1 files changed, 9 insertions, 0 deletions
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