From ad262efa97f981c3c3ef15f8ba4791de90fce024 Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Tue, 24 Oct 2017 08:10:36 +0200 Subject: [PATCH] Update documentation to mention lack of support for regular files Signed-off-by: Joachim Nilsson --- API.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/API.md b/API.md index 7051ed2..9f2efc7 100644 --- a/API.md +++ b/API.md @@ -15,9 +15,15 @@ Introduction ------------ The C API to [libuEv][], listed in `uev/uev.h`, handles three different -types of events: I/O (files, sockets, message queues, etc.), timers, and +types of events: I/O (pipes, sockets, message queues, etc.), timers, and signals. The [Summary](#summary) details a slight caveat on signals. +Notice the *lack of support for regular files* and directories. This is +a limitation of the underlying Linux `epoll` interface which will return +`EPERM` for regular files. Except for the special case when `stdin` is +redirected from the command line. See `examples/redirect.c` for more on +this particular case. + Timers can be either relative, timeout in milliseconds, or absolute with a time given in `time_t`, see `mktime()` et al. Absolute timers are called cron timers and their callbacks get an `UEV_HUP` error event if