summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKen Brown <kbrown@cornell.edu>2019-05-09 12:35:58 -0400
committerKen Brown <kbrown@cornell.edu>2019-05-09 14:41:29 -0400
commite91bc190ff685bca726024da353f0921660bc863 (patch)
treefde3b92c2666ba472b6fea2e81a796e588846cc3
parent0771fc703158b67ec14d82a3bb3ec1b4b72b094c (diff)
downloadcygnal-e91bc190ff685bca726024da353f0921660bc863.tar.gz
cygnal-e91bc190ff685bca726024da353f0921660bc863.tar.bz2
cygnal-e91bc190ff685bca726024da353f0921660bc863.zip
Cygwin: FIFO: code simplifications.
There's no longer a need to consider the connect_evt after fork/exec. After stopping the listen_client thread, all client handlers should be in the fc_connected or fc_invalid states, so their connect_evt members won't be used again. Also remove code in fhandler_fifo::dup that just repeats things already done in stop_listen_client.
-rw-r--r--winsup/cygwin/fhandler_fifo.cc13
1 files changed, 2 insertions, 11 deletions
diff --git a/winsup/cygwin/fhandler_fifo.cc b/winsup/cygwin/fhandler_fifo.cc
index dab7df92b..3fabbc3b4 100644
--- a/winsup/cygwin/fhandler_fifo.cc
+++ b/winsup/cygwin/fhandler_fifo.cc
@@ -966,9 +966,6 @@ fhandler_fifo::dup (fhandler_base *child, int flags)
goto out;
}
}
- fhf->listen_client_thr = NULL;
- fhf->lct_termination_evt = NULL;
- fhf->fifo_client_unlock ();
if (!reader || fhf->listen_client ())
ret = 0;
if (reader)
@@ -990,10 +987,7 @@ fhandler_fifo::fixup_after_fork (HANDLE parent)
fork_fixup (parent, read_ready, "read_ready");
fork_fixup (parent, write_ready, "write_ready");
for (int i = 0; i < nhandlers; i++)
- {
- fc_handler[i].fh->fhandler_base::fixup_after_fork (parent);
- fork_fixup (parent, fc_handler[i].connect_evt, "connect_evt");
- }
+ fc_handler[i].fh->fhandler_base::fixup_after_fork (parent);
if (reader && !listen_client ())
debug_printf ("failed to start lct, %E");
}
@@ -1013,8 +1007,5 @@ fhandler_fifo::set_close_on_exec (bool val)
set_no_inheritance (read_ready, val);
set_no_inheritance (write_ready, val);
for (int i = 0; i < nhandlers; i++)
- {
- fc_handler[i].fh->fhandler_base::set_close_on_exec (val);
- set_no_inheritance (fc_handler[i].connect_evt, val);
- }
+ fc_handler[i].fh->fhandler_base::set_close_on_exec (val);
}