Commit Graph
100 Commits
Author SHA1 Message Date
Joachim Nilsson 930cce21fa Add reference to Mark Heily's libkqueue
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-06-22 14:49:54 +02:00
Joachim Nilsson addd60db22 Merge pull request #8 from westermo/master
Check timer period and timeout arguments
2016-06-17 13:51:02 +02:00
Joachim Nilsson e3d40ef010 Check timer period and timeout arguments
The uev_timer_init() and uev_timer_set() functions allow timeout and
period to be set < 0, which is not supported.  This patch adds a very
simple range check.

Signed-off-by: Joachim Nilsson <joachim.nilsson@westermo.se>
2016-06-17 13:45:11 +02:00
Joachim Nilsson 618b50ee88 Play around a bit more with the intro.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-04-25 22:17:47 +02:00
Joachim Nilsson f64301194a Move rant to end of README and simplify intro
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-04-25 20:23:03 +02:00
Joachim Nilsson bdbfe809ab Start planning for uEv 1.5 -- support Lua bindings
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-04-23 15:01:19 +02:00
Joachim Nilsson 2742adfe98 Add missing Markdown link to v1.4.1 release
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-04-22 14:57:16 +02:00
Joachim Nilsson 35d3a0f185 Update ChangeLog for v1.4.1 bug fix release
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-04-22 14:54:53 +02:00
Joachim Nilsson 441d53e46e Bump ABI revision, v1.0.1, slight semantic change (CLOEXEC)
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-04-22 14:53:29 +02:00
Joachim Nilsson 0b19880f80 Bump version to v1.4.1 for CLOEXEC fix
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-04-22 14:37:48 +02:00
Joachim Nilsson 852bd506e8 Fix Markdown syntax in older releases
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-04-22 14:34:46 +02:00
Joachim Nilsson 98c8e9f8b1 Fix leaking descriptors, use CLOEXEC
The signal and timer fd's used in libuEv were not created properly with
the CLOEXEC flag.  Hence, all forked off children calling exec*() could
access all file descriptor, sockets, etc., used by the parent process.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-04-22 14:31:51 +02:00
Joachim Nilsson 9fc5227343 Update copyright years
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-04-22 14:30:56 +02:00
Joachim Nilsson e613248392 Minor style changes and whitespace fixes
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-04-22 14:30:07 +02:00
Joachim Nilsson ac5f01ea22 Remove Emacs version-control handling
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-04-22 14:29:19 +02:00
Joachim Nilsson a0ddb4eae3 Simplify configure script
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-04-17 00:42:43 +02:00
Joachim Nilsson 1e7720735f Remove bogus autoconf version requirement
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-04-17 00:42:25 +02:00
Joachim Nilsson 8010d76133 Remove superfluous space
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-04-17 00:41:32 +02:00
Joachim Nilsson 73459ca609 Add some integration tips when using GNU autotools
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-04-17 00:27:54 +02:00
Joachim Nilsson bd6d519315 Update ChangeLog and bump version for v1.4.0 release
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-03-22 20:26:28 +01:00
Joachim Nilsson ece9788f5a Merge pull request #7 from villains/master
Add support for EPOLLPRI events for i/o watchers

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-03-16 16:28:36 +01:00
Joachim Nilsson 71697266ed Simplify and clean up joystick example
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-03-13 22:36:46 +01:00
Joachim Nilsson d5d6f9d844 README: Explicitly link to Summary section about caveat on signalfd
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-03-13 02:22:14 +01:00
Joachim Nilsson 57a7bbe1b0 README: Minor polish and clarifications
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-03-13 02:14:58 +01:00
Joachim Nilsson acb6d82ccf Minor update, mention when namespacing was silently introduced
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-03-13 01:55:59 +01:00
Joachim Nilsson 7de9dafacc Bump version to v1.4.0-dev and update ChangeLog
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-03-13 01:32:07 +01:00
Joachim Nilsson 2a1561b449 Update README with new header namespace and some basic housekeeping
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-03-13 01:30:36 +01:00
Joachim Nilsson 7704e46b48 Change namespace for header files libuev/uev.h --> uev/uev.h
The `libuev/` namespace for header files was introduced in v1.2.1.  This
patch changes it to the less surprising `uev/`.  Hopefully there aren't
that many users of this library out there yet, apart from myself.

Apologies if you are affected!

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-03-13 01:20:40 +01:00
Joachim Nilsson 8e3225999c Add pkg-config support
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-03-13 01:10:38 +01:00
Joachim Nilsson f856f299e4 Update ChangeLog and bump version for v1.3.1 release
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-02-02 09:41:10 +01:00
Joachim Nilsson 7012ab4779 Update ChangeLog in preparation for v1.3.1 release
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-02-02 08:21:02 +01:00
Joachim Nilsson 23a7773f5c Makefile.am: Update to install and distribute README.md, LICENSE, etc.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-02-02 08:15:31 +01:00
Joachim Nilsson 232e476429 Remove confusing symlinks, it's a brave Markdown world
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-02-02 08:11:47 +01:00
Joachim Nilsson 33ad2f5e87 Bump version for 1.3.1-dev cycle
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-22 01:00:11 +01:00
Joachim Nilsson ae52fbdf2e Update ChangeLog with GIT diff links and fix minor Markdown formatting
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-22 00:59:33 +01:00
Joachim Nilsson b3541da7cb Update ChangeLog and bump version for v1.3.0 release
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-22 00:54:06 +01:00
Joachim Nilsson 315bd4558a Use pkginclude_HEADERS for libuEv include files
Fix include file namespace lost in initial conversion to GNU autotools,
use $(prefix)/include/$(PACKAGE)/*.h

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-22 00:52:13 +01:00
Joachim Nilsson a0bed33445 Drop -Werror from default CFLAGS, for maintainer(s) only
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-22 00:31:12 +01:00
Joachim Nilsson bf127b0dab Updates and cleanup of README
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-22 00:24:32 +01:00
Joachim Nilsson 7d6d90cdb1 Remove AM_MAINTAINER_MODE from configure script, not recommended anymore
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-21 22:31:58 +01:00
Joachim Nilsson 78b7d0962a Make sure to distribute examples as well, even if --disable-examples
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-15 00:58:05 +01:00
Joachim Nilsson 1370275e61 Run clean pass first, then parallel build test
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-14 21:45:16 +01:00
Joachim Nilsson d01cd60dae Update .gitignore to mask out all generated files from GNU build system
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-14 21:41:14 +01:00
Joachim Nilsson fb942fcea9 Makefile.am: Prune unused libuev_la_LIBADD
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-14 21:38:32 +01:00
Joachim Nilsson f49232cce0 README: Further updates after conversion to GNU configure and build
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-12 21:40:30 +01:00
Joachim Nilsson 6933f7f7c2 README: Small update about the new GNU configure and build system
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-11 17:30:38 +01:00
Joachim Nilsson cd522704c7 Create empty m4 directory for the benefit of autogen.sh and Travis-CI
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-10 19:00:16 +01:00
Joachim Nilsson a0ebd468b6 Debug Travis-CI, fails to run autogen.sh
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-10 18:57:58 +01:00
Joachim Nilsson b621062719 Fix Travis-CI build script
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-10 18:51:07 +01:00
Joachim Nilsson f3e12a98a0 Update build script for Travis-CI with GNU configure and build system
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-10 18:49:30 +01:00
Joachim Nilsson acf6bbcbaf Initial conversion to the GNU configure and build system
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-10 18:21:52 +01:00
Joachim Nilsson a8604938e9 Remove default -Os optimization and add -Wextra
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-08 21:06:20 +01:00
Joachim Nilsson cbb7455603 Correct Markdown syntax to version links
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-05 12:58:55 +01:00
Joachim Nilsson cf5e729dd3 Update ChangeLog and bump version for v1.2.4 release
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-11-23 00:41:33 +01:00
Joachim Nilsson 352baa8270 Make sure we don't inherit LDFLAGS from environment.
To pass custom LDFLAGS to libite, use EXTRA_LDFLAGS.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-10-22 18:36:37 +02:00
Joachim Nilsson 8721566d74 Do not allow VERSION to be overloaded by build system.
When integrating libuEv as a component in another piece of software,
that build system may set VERSION as an environment variable.  We do
not want that version to be set as the version of libuEv.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-10-03 09:14:31 +02:00
Joachim Nilsson a8d8705c34 Bump version for v1.2.3 release.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-09-17 11:13:12 +02:00
Joachim Nilsson 4c03342c77 ChangeLog: Fix minor Markdown syntax error.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-09-17 11:11:33 +02:00
Joachim Nilsson c1fe3be3e7 README: Further simplifications.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-09-17 11:09:41 +02:00
Joachim Nilsson 861bf14d71 Update ChangeLog for v1.2.3 release.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-09-17 10:58:15 +02:00
Joachim Nilsson 395d2df573 README: Add more sub-sections to API chapter, readability.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-09-17 10:21:11 +02:00
Joachim Nilsson 2132ab1bd5 Let make test also run the test, like in the automake world.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-09-16 22:55:15 +02:00
Joachim Nilsson d62ae8f041 Rename CHANGELOG.md --> ChangeLog.md
- Rename to more common ChangeLog
- Drop TODO from distribution, only for devs

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-09-16 18:07:40 +02:00
Joachim Nilsson 1b1397b4ee Bump version to 1.2.3-beta1, prepare for upcoming v1.2.3 release.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-09-16 18:06:10 +02:00
Joachim Nilsson 7bf5c8d8d7 Let Travis run some tests as well.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-09-16 18:05:31 +02:00
Joachim Nilsson 1374661d4b README: Fix syntax error in example.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-09-16 18:05:04 +02:00
Joachim Nilsson 694e2b5ab9 Silence annoying warnings from GNU ar
In (very) modern versions of binutils, for instance v2.25.1 in Ubuntu
15.10, complain about VERY common `crus` argument.  This patch attempts
to silence this noise:

    $ make -j5
      CC      uev.o
      CC      io.o
      CC      timer.o
      CC      signal.o
      ARCHIVE libuev.a
      LINK    libuev.so.1
    ar: `u' modifier ignored since `D' is the default (see `U')

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-09-16 18:04:06 +02:00
Joachim Nilsson c2751af452 README: Further fixes to missing Markdown links.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-09-13 01:10:02 +02:00
Joachim Nilsson 1ce9fde395 README: Fix Markdown for code blocks.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-09-13 00:51:49 +02:00
Joachim Nilsson 7e9f8c4913 README: Fix Travis-CI and Coverity Markdown links.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-09-13 00:49:31 +02:00
Joachim Nilsson dd09c7c3a9 README: More Markdown syntax fixes.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-09-13 00:47:49 +02:00
Joachim Nilsson fe04723353 README: Markdown syntax (non-GitHub) fixes.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-09-13 00:46:20 +02:00
Joachim Nilsson 78995951ae Update ChangeLog and bump version for v1.2.2 release.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-08-30 18:19:22 +02:00
Joachim Nilsson 3adc7a03c0 Fix issue #6: Segfault when stopping timer before calling uev_exit()
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-08-30 18:02:47 +02:00
Joachim Nilsson 2abeb39fe8 Use dockerized build, quicker and less resource intensive for Travis-CI
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-08-22 16:06:21 +02:00
Joachim Nilsson 1480976724 Fix data ordering bug causing problems on Debian Jessie
Got very odd results on Debian Jessie when having the uev_private_t last
in uev_t.  Turns out that when uev.c set "w->active = 0;" the w->fd data
member was written to instead.

Placing the private data first in uev_t is better practise, generally a
good thing for linked lists built on the BSD sys/queue.h API, looks a
lot better, but foremost works.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-07-19 04:40:30 +02:00
Joachim Nilsson 6ffa76c2f8 Remove STATIC ifdef, always build .a and .so files
It is non-trivial to set a separate environment variable (STATIC=1) when
descending into the libuEv subdirectory from an autoconf/automake based
project.

It is better to instead simplify the build process and always build both
.a and .so files.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-07-12 23:13:04 +02:00
Joachim Nilsson 8a4e8c4af6 ChangeLog: Fix cut-and-paste error in Markdown link.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-07-02 13:21:21 +02:00
Joachim Nilsson 950015715d Update ChangeLog and bump version for v1.2.1 release!
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-07-02 13:19:32 +02:00
Joachim Nilsson fb6ac1ecac Also install queue.h, dito needed by external plugins.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-06-18 08:43:20 +02:00
Joachim Nilsson 0909decabc Make sure to also install new private.h, unfortunately necessary.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-06-18 08:37:37 +02:00
Joachim Nilsson 3452fbd381 Default to -fPIC, bloats archives slightly, but works for everyone.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-06-18 02:24:14 +02:00
Joachim Nilsson f64561b708 Cleanup: fix install/uninstall of both static and dynamic builds.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-06-18 02:14:15 +02:00
Joachim Nilsson b94023faed Reflow paragraphs to match original line breaks, no change in licensing terms!
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>
2015-06-18 01:36:48 +02:00
Joachim Nilsson 6637804b80 Merge pull request #5 from vonj/master
O_CLOEXEC does not exist in Debian 6 GLIBC/EGLIBC, use EPOLL_CLOEXEC instead.
2015-06-13 19:42:27 +02:00
Joachim Nilsson 052b08e0b5 Followup to fix indentation, leading tabs, then spaces.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-06-09 15:51:07 +02:00
Joachim Nilsson ca803bb12f Move private data members and methods from uev.h to private.h
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-06-09 15:46:19 +02:00
Joachim Nilsson 6397edc2c4 Update ChangeLog and bump version for v1.2.0 release.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-06-09 13:18:39 +02:00
Joachim Nilsson cbd962c5b6 Fix bench.c so it actually reads from the pipe/socket, update callback API
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-06-09 13:14:49 +02:00
Joachim Nilsson 1f9558059a API change -- Remove first ctx argument and add event mask to callback
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>
2015-06-09 13:10:20 +02:00
Joachim Nilsson 9e7f6865fc uev_timer_set(): Bugfix, call uev_watcher_start() even if not running yet!
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-06-09 13:05:55 +02:00
Joachim Nilsson 3b31079a1c README: Refactor API section in an attempt to make it more accessible.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-03-29 09:31:14 +02:00
Joachim Nilsson 63697e9eda Add support for building static-only libuev.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-03-06 21:33:49 +01:00
Joachim Nilsson ce3930f0cf Update .gitignore, dep files now named *.d
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-03-04 15:55:44 +01:00
Joachim Nilsson bfd046054b Slight update before release.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-03-04 10:54:32 +01:00
Joachim Nilsson 6a40d51d26 Bump version to v1.1.0 for release.
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-03-04 10:44:39 +01:00
Joachim Nilsson f513408316 Remove clang from Travis build to avoid double Coverity runs
There currenty is no *simple* way of preventing Coverity from being run
twice, so we just remove the clang build in the meantime :-/

See: travis-ci/travis-ci#1975

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-03-04 10:41:57 +01:00
Joachim Nilsson 30b5faa318 Update ChangeLog and bump dev version to 1.1 due to the major changes
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-03-04 09:53:18 +01:00
Joachim Nilsson fe8f3f19da Massively improve error handling, check for EPOLLHUP & EPOLLERR etc.
- 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>
2015-03-04 09:41:22 +01:00
Joachim Nilsson 71208b7e21 Update ChangeLog
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2015-02-16 00:27:17 +01:00