[PATCH] Multiple timer issues

Corinna Vinschen corinna-cygwin@cygwin.com
Thu Feb 18 11:28:00 GMT 2016


Hi Artúr,

On Feb 17 23:30, Irányossy Knoblauch Artúr wrote:
> Dear Cygwin Maintainers,
> 
> First of all, thank you for your work, I really enjoy using this software!

Thank you :)

> However, I have noticed that adjusting the system time can cause some
> programs to misbehave. I have found bugs in the POSIX timer
> implementation and a bug in the select() function's timeout handling.
> 
> Please find the proposed patches attached.

I checked your patches and they look good.  I like it that this weird
priming can go away.

> Regarding POSIX timers:
> 
> I have also created a small test application (see timer_test.c and the
> Makefile) to demonstrate the issue. Please try to run it on both Linux
> and Cygwin!
> 
> The test tries to set the system time back and forth to see the effect
> on different kinds of timers. Please note, that for setting the system
> time, the test has to be run with the necessary administrative rights
> provided.
> 
> 
> Regarding select():
> 
> The timeout shall be immune to adjustments to the system clock in all
> cases; so the 'gtod' clock shouldn't be used, because it is not
> monotonic.
> 
> 
> I have tried to keep the changes as minimal as possible.
> I hope that signing a legal agreement is not necessary, since these
> are just bugfixes; if you think otherwise, please let me know.

Patches 2 can go in as trivial, patch 3 too with a little bit of a
stretch.  Unfortunately your first patch is too big to go in as trivial.
Would you mind terribly to send a copyright assignment per
https://cygwin.com/contrib.html?  If you send it as PDF by mail it takes
usually just a few days to be countersigned.

I would apply patch 2 immediately, but as far as I can see it relies
on patch 1.  Without patch 1, exchanging gtod with ntod will not change
anything since it's still a non-monotonic timer.  Or am I missing
something?


Thanks a lot,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20160218/38756668/attachment.sig>


More information about the Cygwin-patches mailing list