Ken Brown bf66a56cca Cygwin: FIFO: allow any reader to take ownership
Add a take_ownership method, used by raw_read and select.cc:peek_fifo.
It wakes up all fifo_reader_threads and allows the caller to become
owner.  The work is done by the fifo_reader_threads.

For synchronization we introduce several new fhandler_fifo data
members and methods:

- update_needed_evt signals the current owner to stop listening for
  writer connections and update its fc_handler list.

- shared_fc_handler() gets and sets the status of the fc_handler
  update process.

- get_pending_owner() and set_pending_owner() get and set the reader
  that is requesting ownership.

Finally, a new 'reading_lock' prevents two readers from trying to take
ownership simultaneously.
2020-05-08 06:45:24 -04:00
..
2013-04-30 23:43:08 +00:00
2012-11-23 13:22:47 +00:00
2016-06-25 00:43:01 +02:00
2019-10-23 10:05:42 +02:00
2019-10-23 10:05:42 +02:00
2014-04-26 17:38:22 +00:00
2018-02-20 17:59:53 +01:00
2015-03-03 12:58:34 +00:00
2017-03-27 22:03:58 +01:00
2015-08-17 11:05:43 +02:00
2013-04-23 09:44:36 +00:00
2018-04-16 22:46:11 -05:00
2018-02-07 13:07:44 +01:00
2013-04-23 09:44:36 +00:00
2019-06-25 15:44:43 -04:00
2019-06-25 15:44:43 -04:00
2019-07-19 14:14:33 -04:00