Corinna Vinschen 7186b657e7 Improve timer handling in select.
Commit a23e6a35d896a075640db714b28ce74bb6b8d7ff introduced a timer
object to the WFMO handling in select_stuff::wait to allow sub-tickcount
timeout values in select.

Problems with this patch: The timer was created and destroyed on every
invocation of select_stuff::wait, thus potentially multiple times per
select.  Also, since the timer was prepended to the WFMO hande list,
the timer handle could shadow actual events on other objects, given that
WFMO checks the objects in the order they have been specified in the
HANDLE array.  The timer was also created/destroyed and added to the
HANDLE array even if it was not required.

This patch drops the local timer HANDLE and recycles the cw_timer HANDLE
in the cygtls area instead.  Thus we typically don't need to create the
timer in select at all, and we never have to destroy it.

The timer HANDLE is now also appended as last object to the HANDLE array,
and it's only added if actually needed.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-06-06 16:48:38 +02:00
..
2013-04-30 23:43:08 +00:00
2013-04-23 09:44:36 +00:00
2012-11-23 13:22:47 +00:00
2013-04-23 09:44:36 +00:00
2016-03-29 17:39:17 +02:00
2011-06-06 05:02:13 +00:00
2013-04-23 09:44:36 +00:00
2015-04-23 21:57:12 +02:00
2015-04-23 21:57:12 +02:00
2014-04-26 17:38:22 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2015-11-05 18:31:36 +01:00
2016-03-20 21:59:43 +01:00
2016-03-20 21:59:43 +01:00
2015-03-03 12:58:34 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2015-11-18 19:09:47 +01:00
2015-02-24 20:52:57 +00:00
2014-08-14 17:36:24 +00:00
2016-03-18 14:46:20 +01:00
2016-03-18 14:46:20 +01:00
2015-08-17 11:05:43 +02:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2016-01-27 15:39:11 +01:00
2013-04-23 09:44:36 +00:00
2016-03-29 13:41:11 +02:00
2013-04-23 09:44:36 +00:00
2015-07-29 13:45:46 +02:00
2016-06-06 16:48:38 +02:00
2016-05-20 12:00:58 +02:00
2016-03-29 12:14:18 +02:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2016-05-20 17:45:24 +02:00
2016-02-13 16:03:15 +01:00
2015-04-23 21:57:07 +02:00
2015-04-23 22:04:24 +02:00
2015-02-24 20:52:57 +00:00
2013-04-23 09:44:36 +00:00