[newlib-cygwin] Cygwin: FIFO: update fixup_after_fork

Corinna Vinschen corinna@sourceware.org
Wed Mar 27 13:03:00 GMT 2019


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=e02a0f729579f11a2cc7442602b3a21359700531

commit e02a0f729579f11a2cc7442602b3a21359700531
Author: Ken Brown <kbrown@cornell.edu>
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



More information about the Cygwin-cvs mailing list