diff options
author | Tom Gundersen <teg@jklm.no> | 2014-08-15 21:04:07 +0200 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2014-08-20 17:24:11 +0200 |
commit | 9b364545435d2b65fcf73519b3064bb7c28093b7 (patch) | |
tree | f2512f69d82c2d41ea0a6d6baf93eace58901adf | |
parent | a9feff3d774eaa1cc1b59189e8f344c01e69f888 (diff) |
sd-event: add API to access epoll_fd
This is a prerequisite for integrating sd-event into an external
event loop.
-rw-r--r-- | src/libsystemd/libsystemd.sym.m4 | 1 | ||||
-rw-r--r-- | src/libsystemd/sd-event/sd-event.c | 8 | ||||
-rw-r--r-- | src/systemd/sd-event.h | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/src/libsystemd/libsystemd.sym.m4 b/src/libsystemd/libsystemd.sym.m4 index 415d89afbe..3fc9983f98 100644 --- a/src/libsystemd/libsystemd.sym.m4 +++ b/src/libsystemd/libsystemd.sym.m4 @@ -374,6 +374,7 @@ global: sd_event_loop; sd_event_exit; sd_event_now; + sd_event_get_fd; sd_event_get_state; sd_event_get_tid; sd_event_get_exit_code; diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c index 7917ab934a..e062997a80 100644 --- a/src/libsystemd/sd-event/sd-event.c +++ b/src/libsystemd/sd-event/sd-event.c @@ -2361,6 +2361,14 @@ finish: return r; } +_public_ int sd_event_get_fd(sd_event *e) { + + assert_return(e, -EINVAL); + assert_return(!event_pid_changed(e), -ECHILD); + + return e->epoll_fd; +} + _public_ int sd_event_get_state(sd_event *e) { assert_return(e, -EINVAL); assert_return(!event_pid_changed(e), -ECHILD); diff --git a/src/systemd/sd-event.h b/src/systemd/sd-event.h index 5d9b3be6c7..d96852a763 100644 --- a/src/systemd/sd-event.h +++ b/src/systemd/sd-event.h @@ -90,6 +90,7 @@ int sd_event_exit(sd_event *e, int code); int sd_event_now(sd_event *e, clockid_t clock, uint64_t *usec); +int sd_event_get_fd(sd_event *e); int sd_event_get_state(sd_event *e); int sd_event_get_tid(sd_event *e, pid_t *tid); int sd_event_get_exit_code(sd_event *e, int *code); |