Re: timer_settime() and ECANCELED

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/2/20 3:35 PM, Thomas Gleixner wrote:
> "Michael Kerrisk (man-pages)" <mtk.manpages@xxxxxxxxx> writes:
>> NOTES
>>        Suppose  the  following scenario for CLOCK_REALTIME or CLOCK_REAL‐
>>        TIME_ALARM timer that was created with timerfd_create():
>>
>>        (a) The  timer  has  been  started  (timerfd_settime())  with  the
>>            TFD_TIMER_ABSTIME and TFD_TIMER_CANCEL_ON_SET flags;
>>
>>        (b) A discontinuous change (e.g.  settimeofday(2)) is subsequently
>>            made to the CLOCK_REALTIME clock; and
>>
>>        (c) the caller once more  calls  timerfd_settime()  to  rearm  the
>>            timer (without first doing a read(2) on the file descriptor).
>>
>>        In this case the following occurs:
>>
>>        · The  timerfd_settime()  returns  -1 with errno set to ECANCELED.
>>          (This enables the caller to know that  the  previous  timer  was
>>          affected by a discontinuous change to the clock.)
>>
>>        · The  timer is successfully rearmed with the settings provided in
>>          the second timerfd_settime() call.  (This was probably an imple‐
>>          mentation  accident,  but  won't be fixed now, in case there are
>>          applications that depend on this behaviour.)
> 
> Clear enough.
> 
> Thanks Michael!

Thanks. Committed. (But, next time you change the API. maybe a 
man-pages patch to go with that? :-).)

Cheers,

Michael

 


-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/



[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux