Re: Man page for revised timerfd API

Michael Kerrisk
2007-10-03T06:52:53Z

Davide Libenzi wrote:
> On Thu, 27 Sep 2007, Michael Kerrisk wrote:
>
>> Davide,
>>
>> A further question: what is the expected behavior in the
>> following scenario:
>>
>> 1. Create a timerfd and arm it.
>> 2. Wait until M timer expirations have occurred
>> 3. Modify the settings of the timer
>> 4. Wait for N further timer expirations have occurred
>> 5. read() from the timerfd
>>
>> Does the buffer returned by the read() contain the value
>> N or (M+N)? In other words, should modifying the timer
>> settings reset the expiration count to zero?
>
> Every timerfd_settime() zeroes the tick counter. So in your scenario it'll
> return N.

Thanks Davide.

I modified the first para of the read description to make this clear:

read(2)
If the timer has already expired one or more times
since its settings were last modified using
timerfd_settime(), or since the last successful
read(2), then the buffer given to read(2) returns
an unsigned 8-byte integer (uint64_t) containing
the number of expirations that have occurred.

(In the earlier version of the page the text talked about expirations
"since the timer was created".)

Cheers,

Michael

--
Michael Kerrisk
maintainer of Linux man pages Sections 2, 3, 4, 5, and 7

Want to help with man page maintenance? Grab the latest tarball at
http://www.kernel.org/pub/linux/docs/manpages/
read the HOWTOHELP file and grep the source files for 'FIXME'.