This is a major refactor of the original design by Flemming Madsen. It
converts the library timers from poll() to timerfd, which at the same
time also unifies the file and timer watchers into one design. The idea
is to also add signalfd to the mix later on.
Also a couple of hundred kilobytes smaller, although size a secondary
goal. The primary goal is to further simplify the internal design and
to continuously strive to employ modern APIs.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
Refactor uev_timer_create() to support a periodic (msec) argument. For
such timers libuev automaticlly respawns them. Effectively resetting
the timeout using the period value.
Also, refactor argument order to uev_timer_create() and uev_io_create().
Rename UEV_FHIN, UEV_FHOUT to UEV_DIR_INBOUND and UEV_DIR_OUTBOUND.
Remove unnecessary return value for watcher callbacks. What would those
have been usefu for, ever? Not even the original code checked the return
value after calling a handler.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
Simplifed uev_io_t by removing uev_io_rem_t completely. A refactor that
would not have been possible without the BSD queue.h API. This makes
the code readable and thus maintainable and less error prone.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This fork is called libuev and will focus solely on embedded Linux
systems using C. Patches for other UNIX-like operating systems are
welcome.
- Remove Lua support, will not be used.
- Rename from LibUEvent to libuev where applicable
- Add project's MIT license to top of all files, as is customary
- Add a LICENSE file, as is customary
This MIT licensed code was cloned from the Mercurial repository at
Google http://code.google.com/p/libuevent/ which had mislabled the
license as "New BSD License", which is wrong. The actual license
of the project is https://en.wikipedia.org/wiki/MIT_License
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>