timerfd_create
() can fail with the following errors:
EINVAL
The clockid is not valid.
EINVAL
flags is invalid; or, in Linux 2.6.26 or earlier, flags is
nonzero.
EMFILE
The per-process limit on the number of open file
descriptors has been reached.
ENFILE
The system-wide limit on the total number of open files
has been reached.
ENODEV
Could not mount (internal) anonymous inode device.
ENOMEM
There was insufficient kernel memory to create the timer.
EPERM
clockid was CLOCK_REALTIME_ALARM
or CLOCK_BOOTTIME_ALARM
but the caller did not have the CAP_WAKE_ALARM
capability.
timerfd_settime
() and timerfd_gettime
() can fail with the
following errors:
EBADF
fd is not a valid file descriptor.
EFAULT
new_value, old_value, or curr_value is not valid a
pointer.
EINVAL
fd is not a valid timerfd file descriptor.
timerfd_settime
() can also fail with the following errors:
ECANCELED
See NOTES.
EINVAL
new_value is not properly initialized (one of the tv_nsec
falls outside the range zero to 999,999,999).
EINVAL
flags is invalid.