X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fmanager.c;h=6ddd40e8736c1817273b2129061582eb7814f61b;hb=67370238b55df4126e505007d46deaff8bb55a36;hp=faf30dc49e5662627c4b434d81f55461aa10886b;hpb=72bc8d005654ad30838edfe9373109a49cc29448;p=elogind.git diff --git a/src/manager.c b/src/manager.c index faf30dc49..6ddd40e87 100644 --- a/src/manager.c +++ b/src/manager.c @@ -127,7 +127,7 @@ static int manager_setup_notify(Manager *m) { } static int enable_special_signals(Manager *m) { - char fd; + int fd; assert(m); @@ -2059,8 +2059,6 @@ static int manager_process_signal_fd(Manager *m) { assert(m); for (;;) { - char *p = NULL; - if ((n = read(m->signal_watch.fd, &sfsi, sizeof(sfsi))) != sizeof(sfsi)) { if (n >= 0) @@ -2072,13 +2070,17 @@ static int manager_process_signal_fd(Manager *m) { return -errno; } - if (sfsi.ssi_pid > 0) + if (sfsi.ssi_pid > 0) { + char *p = NULL; + get_process_name(sfsi.ssi_pid, &p); - log_debug("Received SIG%s from PID %lu (%s)", - strna(signal_to_string(sfsi.ssi_signo)), - (unsigned long) sfsi.ssi_pid, strna(p)); - free(p); + log_debug("Received SIG%s from PID %lu (%s).", + strna(signal_to_string(sfsi.ssi_signo)), + (unsigned long) sfsi.ssi_pid, strna(p)); + free(p); + } else + log_debug("Received SIG%s.", strna(signal_to_string(sfsi.ssi_signo))); switch (sfsi.ssi_signo) { @@ -2328,7 +2330,7 @@ static int process_event(Manager *m, struct epoll_event *ev) { int manager_loop(Manager *m) { int r; - RATELIMIT_DEFINE(rl, 1*USEC_PER_SEC, 1000); + RATELIMIT_DEFINE(rl, 1*USEC_PER_SEC, 50000); assert(m); m->exit_code = MANAGER_RUNNING; @@ -2615,7 +2617,7 @@ int manager_open_serialization(Manager *m, FILE **_f) { log_debug("Serializing state to %s", path); free(path); - if (!(f = fdopen(fd, "w+")) < 0) + if (!(f = fdopen(fd, "w+"))) return -errno; *_f = f;