acadia-newlib/winsup
Corinna Vinschen 7186b657e7 Improve timer handling in select.
Commit a23e6a35d8 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
..
CVSChangeLogs.old winsup: Move all old CVS Changelogs into CVSChangeLogs.old dir 2016-03-19 13:59:52 +01:00
cygserver Rename without-mingw-progs to with-cross-bootstrap 2016-04-04 16:39:41 +02:00
cygwin Improve timer handling in select. 2016-06-06 16:48:38 +02:00
doc Git is Git, not GIT 2016-05-24 12:09:10 +02:00
lsaauth Update autoconf for doc/lsaauth/utils 2016-04-01 14:04:41 +02:00
testsuite Replace AC_CANONICAL_SYSTEM with AC_CANONICAL_TARGET, fix AC_INIT usage 2016-03-30 14:09:19 +02:00
utils winsup/utils: port getconf to 64-bit 2016-04-04 10:25:39 -05:00
COPYING
CYGWIN_LICENSE
Makefile.common
Makefile.in Allow 'make distclean' to clean winsup/cygwin 2016-06-06 11:52:19 +02:00
README Fix typo and wrong URL in winsup/README 2016-05-24 10:25:18 +02:00
acinclude.m4
aclocal.m4
autogen.sh
c++wrap
ccwrap ccwrap: fix build with non-english locale set (v2) 2016-02-29 14:44:23 +01:00
config.guess
config.sub
configure Rename without-mingw-progs to with-cross-bootstrap 2016-04-04 16:39:41 +02:00
configure.ac Rename without-mingw-progs to with-cross-bootstrap 2016-04-04 16:39:41 +02:00
configure.cygwin
install-sh

README

THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESSED OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

Cygwin documentation is available on the net at https://cygwin.com
You might especially be interested in

https://cygwin.com/faq/faq.html#faq.programming.building-cygwin