4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-02-02 12:30:24 +08:00
Ken Brown c9f123281d Cygwin: FIFO: synchronize the fifo_reader and fifosel threads
The fifo_reader thread function and the function select.cc:peek_fifo()
can both change the state of a fifo_client_handler.  These changes are
made under fifo_client_lock, so there is no race, but the changes can
still be incompatible.

Add code to make sure that only one of these functions can change the
state from its initial fc_listening state.  Whichever function does
this calls the fhandler_fifo::record_connection method, which is now
public so that peek_fifo can call it.

Slightly modify that method to make it suitable for being called by
peek_fifo.

Make a few other small changes to the fifo_reader thread function to
change how it deals with the STATUS_PIPE_CLOSING value that can
(rarely) be returned by NtFsControlFile.

Add commentary to fhandler_fifo.cc to explain fifo_client connect
states and where they can be changed.
2020-10-14 10:54:26 -04:00
..
2020-10-14 10:54:21 -04:00
2020-10-14 10:54:20 -04:00
2016-06-25 00:43:01 +02:00
2020-10-14 10:54:03 -04:00
2020-10-14 10:54:03 -04:00
2018-02-20 17:59:53 +01:00
2017-03-27 22:03:58 +01:00
2015-08-17 11:05:43 +02:00
2018-04-16 22:46:11 -05:00
2018-02-07 13:07:44 +01:00
2020-10-14 10:53:55 -04:00
2020-10-14 10:53:55 -04:00
2020-10-14 10:53:56 -04:00
2020-10-14 10:54:21 -04:00