diff options
author | Ken Brown <kbrown@cornell.edu> | 2019-05-09 12:35:58 -0400 |
---|---|---|
committer | Ken Brown <kbrown@cornell.edu> | 2019-05-09 14:41:29 -0400 |
commit | e91bc190ff685bca726024da353f0921660bc863 (patch) | |
tree | fde3b92c2666ba472b6fea2e81a796e588846cc3 | |
parent | 0771fc703158b67ec14d82a3bb3ec1b4b72b094c (diff) | |
download | cygnal-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.cc | 13 |
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); } |