X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Fsd-login.c;h=7513f76cb3fc3397da3389dd81208abc3d14e12c;hb=737563e4bb1606cae1dd0e9484f9e82da466fe76;hp=865527f8dda937f310656ccc37db69df294cae70;hpb=2826d14091e43ed3397d862dee79d09d0115c84e;p=elogind.git diff --git a/src/login/sd-login.c b/src/login/sd-login.c index 865527f8d..7513f76cb 100644 --- a/src/login/sd-login.c +++ b/src/login/sd-login.c @@ -23,12 +23,14 @@ #include #include #include +#include #include "util.h" #include "cgroup-util.h" #include "macro.h" #include "sd-login.h" #include "strv.h" +#include "fileio.h" _public_ int sd_pid_get_session(pid_t pid, char **session) { int r; @@ -733,7 +735,6 @@ _public_ int sd_login_monitor_new(const char *category, sd_login_monitor **m) { if (!category || streq(category, "seat")) { k = inotify_add_watch(fd, "/run/systemd/seats/", IN_MOVED_TO|IN_DELETE); if (k < 0) { - log_error("Failed to add watch on /run/systemd/seats/: %m"); close_nointr_nofail(fd); return -errno; } @@ -744,7 +745,6 @@ _public_ int sd_login_monitor_new(const char *category, sd_login_monitor **m) { if (!category || streq(category, "session")) { k = inotify_add_watch(fd, "/run/systemd/sessions/", IN_MOVED_TO|IN_DELETE); if (k < 0) { - log_error("Failed to add watch on /run/systemd/sessions/: %m"); close_nointr_nofail(fd); return -errno; } @@ -755,7 +755,6 @@ _public_ int sd_login_monitor_new(const char *category, sd_login_monitor **m) { if (!category || streq(category, "uid")) { k = inotify_add_watch(fd, "/run/systemd/users/", IN_MOVED_TO|IN_DELETE); if (k < 0) { - log_error("Failed to add watch on /run/systemd/users/: %m"); close_nointr_nofail(fd); return -errno; } @@ -799,3 +798,29 @@ _public_ int sd_login_monitor_get_fd(sd_login_monitor *m) { return MONITOR_TO_FD(m); } + +_public_ int sd_login_monitor_get_events(sd_login_monitor *m) { + + if (!m) + return -EINVAL; + + /* For now we will only return POLLIN here, since we don't + * need anything else ever for inotify. However, let's have + * this API to keep our options open should we later on need + * it. */ + return POLLIN; +} + +_public_ int sd_login_monitor_get_timeout(sd_login_monitor *m, uint64_t *timeout_usec) { + + if (!m) + return -EINVAL; + if (!timeout_usec) + return -EINVAL; + + /* For now we will only return (uint64_t) -1, since we don't + * need any timeout. However, let's have this API to keep our + * options open should we later on need it. */ + *timeout_usec = (uint64_t) -1; + return 0; +}