X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Flogind-inhibit.c;h=042586d0738c9268ae54bc8ce07a04c0b3465293;hb=ea18a4b57e2bb94af7b3ecb7abdaec40e9f485f0;hp=26cce8d7fcdd3defe57729421a6aa7de340a78e3;hpb=4561be3a64534a911ee405ffb51950a624a0cd3f;p=elogind.git diff --git a/src/login/logind-inhibit.c b/src/login/logind-inhibit.c index 26cce8d7f..042586d07 100644 --- a/src/login/logind-inhibit.c +++ b/src/login/logind-inhibit.c @@ -45,7 +45,7 @@ Inhibitor* inhibitor_new(Manager *m, const char* id) { return NULL; } - i->id = path_get_file_name(i->state_file); + i->id = basename(i->state_file); if (hashmap_put(m->inhibitors, i->id, i) < 0) { free(i->state_file); @@ -304,7 +304,7 @@ int inhibitor_create_fifo(Inhibitor *i) { if (r < 0) return r; - r = sd_event_source_set_priority(i->event_source, SD_PRIORITY_IDLE); + r = sd_event_source_set_priority(i->event_source, SD_EVENT_PRIORITY_IDLE); if (r < 0) return r; } @@ -372,7 +372,8 @@ bool manager_is_inhibited( dual_timestamp *since, bool ignore_inactive, bool ignore_uid, - uid_t uid) { + uid_t uid, + Inhibitor **offending) { Inhibitor *i; Iterator j; @@ -400,6 +401,9 @@ bool manager_is_inhibited( ts = i->since; inhibited = true; + + if (offending) + *offending = i; } if (since) @@ -409,7 +413,7 @@ bool manager_is_inhibited( } const char *inhibit_what_to_string(InhibitWhat w) { - static __thread char buffer[97]; + static thread_local char buffer[97]; char *p; if (w < 0 || w >= _INHIBIT_WHAT_MAX)