From e91bc190ff685bca726024da353f0921660bc863 Mon Sep 17 00:00:00 2001 From: Ken Brown Date: Thu, 9 May 2019 12:35:58 -0400 Subject: [PATCH] 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. --- winsup/cygwin/fhandler_fifo.cc | 13 ++----------- 1 file 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); }