On Tue, Jan 20 2015, Fam Zheng [off-list ref] wrote:
DESCRIPTION
The epoll_mod_wait() system call can be seen as an enhanced combination
of several epoll_ctl(2) calls, which are followed by an epoll_pwait(2)
call. It is superior in two cases:
1) When epoll_ctl(2) are followed by epoll_wait(2), using epoll_mod_wait
will save context switches between user mode and kernel mode;
2) When you need higher precision than microsecond for wait timeout.
You probably want to say millisecond.
struct epoll_mod_cmd {
[...]
};
struct epoll_wait_spec {
[...]
} EPOLL_PACKED;
Either both or none of these should mention that EPOLL_PACKED is in fact
part of the actual definition. The changelog for 3/6 sorta mentions
that it's not really needed for epoll_mod_cmd. Why is it necessary for
either struct?
RETURN VALUE
When successful, epoll_mod_wait() returns the number of file
descriptors ready for the requested I/O, or zero if no file descriptor
became ready during the requested timeout milliseconds.
And here, it doesn't make sense to mention a unit, since the new timeout
is given using struct timespec (this was the whole point, right?).
Rasmus