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] POSIX monotonic clock


On Mon, Aug 02, 2010 at 03:49:08PM -0500, Yaakov (Cygwin/X) wrote:
>Here is an attempt to implement POSIX.1-2004+ Monotonic Clock:
>
>http://www.opengroup.org/onlinepubs/9699919799/functions/clock_getres.html
>
>In summary, I took hires_us and changed the resolution to nanoseconds. I
>dropped systime() because the only place hires_us was being used is in
>strace.cc which ignored it, and WRT POSIX monotonic clocks the absolute
>value of the clock is meaningless.  Since systime() has only 100ns
>precision, using it would either force a loss in resolution or (if
>multiplied by 100 to get ns) an early overflow.  I also switched from
>ENOSYS to EINVAL, as POSIX.1-2004 and 2008 dropped references to the
>former (as noted in Change History).

But that changes the sense of the errno.  EINVAL would indicate an unsupported
argument.  At least some of the cases fail because of an unimplemented NT
function call, e.g., ENOSYS.  Regardless of what POSIX says, I think that ENOSYS
is ok, in at least some cases, for Cygwin since I believe QueryPerformanceCounter
doesn't work on NT3.5 and NT4.

Other than that this looks ok.

cgf


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