This is the mail archive of the cygwin-patches mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Multiple timer issues


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

Attachment: signature.asc
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]