While comparing the library layout with libite, I noticed how the
formatting of the license paragraphs in all source files had been
garbled. This patch restores the orginal line breaks.
Note: Only whitespace changes, no change in licensing terms!
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
There really does not exist a good reason for us sending a `uev_ctx_t *`
pointer as the first argument to event callbacks. If the callback needs
to reference the context, it can find the ctx pointer in the `uev_t *w`.
This patch removes the first argument from all callbacks and also fixes
a slight bug in that the event loop never returned the actual event that
triggered the callback!
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
- Make sure to listen for EPOLLRDHUP in watchers so users can be
notified when a peer closes a connection.
- Handle EPOLLHUP and EPOLLERR gracefully. Even handle spurious
EPOLLHUP by means of an error counter. If we receive too many errors
we now restart the epoll fd and re-add all watchers.
- Return error from `epoll_ctl()` in `uev_watcher_stop()`
- Ignore any error from `uev_watcher_stop()` in `uev_watcher_set()`
- Move LIST_REMOVE() et al from io.c to core uev.c, should be
done for timer and signal callbacks as well, of course.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>