On Wed, Sep 07, 2016 at 01:40:59PM -0700, Daniel Walker wrote:
There is a test (below) , which prevents negative nanosecond updates. The
code below would force a negative update to always return more than
NSEC_PER_SEC. It should be using abs() instead which would return the value
desired.
No. This:
/*
* The value of a timeval is the sum of its fields, but the
* field tv_usec must always be non-negative.
*/
HTH,
Richard
On 09/07/2016 01:48 PM, Richard Cochran wrote:
On Wed, Sep 07, 2016 at 01:40:59PM -0700, Daniel Walker wrote:
quoted
There is a test (below) , which prevents negative nanosecond updates. The
code below would force a negative update to always return more than
NSEC_PER_SEC. It should be using abs() instead which would return the value
desired.
No. This:
/*
* The value of a timeval is the sum of its fields, but the
* field tv_usec must always be non-negative.
*/
HTH,
Richard
So the code only allows second granularity negative updates, or the seconds component is the only part which needs to actually be negative ?
Daniel
On Wed, Sep 07, 2016 at 01:55:19PM -0700, Daniel Walker wrote:
So the code only allows second granularity negative updates,
No.
or the seconds
component is the only part which needs to actually be negative ?
Yes.
See the function, clockadj_step, in linuxptp/clockadj.c for a working
user space example.
Thanks,
Richard