Commit Graph
9 Commits
Author SHA1 Message Date
Joachim Nilsson 499cbd2032 Refactor to use modern timerfd and epoll
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>
2013-07-22 20:25:08 +02:00
Joachim Nilsson 49c72c0914 Create unique include file namespace and fix install/uninstall make targets
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2013-07-21 13:08:40 +02:00
Joachim Nilsson ec9351bfdd Add support for peridic timers and resetting timers
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>
2013-07-21 11:39:26 +02:00
Joachim Nilsson ab8c70d501 Slight reorder and renaming to clarify, also update README. 2013-07-20 22:48:52 +02:00
Joachim Nilsson 7e87644bd1 Major cleanup, use Linux coding style, remove CamelCase.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2013-07-19 12:41:59 +02:00
Joachim Nilsson 0bba080660 Initial import of Flemming Madsen's LibUEvent
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>
2013-07-18 23:37:07 +02:00
fm a2ab7c3685 Lua test coded, not yet running .. 2012-03-16 09:57:35 +01:00
fm 5c817c20ed Lua binding, done coding 2012-03-14 18:12:16 +01:00
fm 36a937505c Import from compactor 2012-03-14 10:30:20 +01:00