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.
This commit is contained in:
		| @@ -966,9 +966,6 @@ fhandler_fifo::dup (fhandler_base *child, int flags) | |||||||
| 	  goto out; | 	  goto out; | ||||||
| 	} | 	} | ||||||
|     } |     } | ||||||
|   fhf->listen_client_thr = NULL; |  | ||||||
|   fhf->lct_termination_evt = NULL; |  | ||||||
|   fhf->fifo_client_unlock (); |  | ||||||
|   if (!reader || fhf->listen_client ()) |   if (!reader || fhf->listen_client ()) | ||||||
|     ret = 0; |     ret = 0; | ||||||
|   if (reader) |   if (reader) | ||||||
| @@ -990,10 +987,7 @@ fhandler_fifo::fixup_after_fork (HANDLE parent) | |||||||
|   fork_fixup (parent, read_ready, "read_ready"); |   fork_fixup (parent, read_ready, "read_ready"); | ||||||
|   fork_fixup (parent, write_ready, "write_ready"); |   fork_fixup (parent, write_ready, "write_ready"); | ||||||
|   for (int i = 0; i < nhandlers; i++) |   for (int i = 0; i < nhandlers; i++) | ||||||
|     { |  | ||||||
|     fc_handler[i].fh->fhandler_base::fixup_after_fork (parent); |     fc_handler[i].fh->fhandler_base::fixup_after_fork (parent); | ||||||
|       fork_fixup (parent, fc_handler[i].connect_evt, "connect_evt"); |  | ||||||
|     } |  | ||||||
|   if (reader && !listen_client ()) |   if (reader && !listen_client ()) | ||||||
|     debug_printf ("failed to start lct, %E"); |     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 (read_ready, val); | ||||||
|   set_no_inheritance (write_ready, val); |   set_no_inheritance (write_ready, val); | ||||||
|   for (int i = 0; i < nhandlers; i++) |   for (int i = 0; i < nhandlers; i++) | ||||||
|     { |  | ||||||
|     fc_handler[i].fh->fhandler_base::set_close_on_exec (val); |     fc_handler[i].fh->fhandler_base::set_close_on_exec (val); | ||||||
|       set_no_inheritance (fc_handler[i].connect_evt, val); |  | ||||||
|     } |  | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user