SIGFPE in CVS HEAD

Corinna Vinschen corinna-cygwin@cygwin.com
Fri Apr 1 12:06:00 GMT 2011


On Apr  1 06:37, Yaakov (Cygwin/X) wrote:
> On Wed, 2011-03-30 at 10:56 +0200, Corinna Vinschen wrote:
> > The only possible cause for this line throwing an exception is if
> > resolution is 0.  That should be impossible, unless the
> > NtQueryTimerResolution function returns a resolution < 10000.  Since the
> > function returns values in 100ns intervals, this would result in a
> > resolution < 1 ms.  Since the resolution of the hires_ms class is in
> > milliseconds, it would be 0.
> > 
> > Here's what NtQueryTimerResolution returns on my systems:
> > 
> > XP 32 bit: coarsest: 156250, finest: 10000, actual: 156250
> > W7 32 bit: coarsest: 156001, finest: 5000, actual: 156000
> > 
> > XP 64 bit: coarsest: 156250, finest: 10000, actual: 156250
> > W7 64 bit: coarsest: 156001, finest: 5000, actual: 10000
> 
> I'm running W7 x64, and this is what I saw as well.  But wouldn't the
> "actual" number float, meaning that it could go as low as the "finest"
> number?

It appears so, but even after a couple of hours running a testcase
on W7 64, I was never seeing any value < 10000.  In fact, there were
only two values at all, 10000 and 156000.

> > Anyway, I'll make sure that resolution is never < 1.
> 
> With that change, CVS HEAD is WFM again.

Cool.  Thanks for your feedback.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat



More information about the Cygwin-developers mailing list