mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-10-29 04:55:26 +03:00
journald: log provenience of signals
This commit is contained in:
parent
c480d2f8bc
commit
4daf54a851
@ -1118,9 +1118,6 @@ int job_get_timeout(Job *j, uint64_t *timeout) {
|
|||||||
|
|
||||||
*timeout = MIN(x, y);
|
*timeout = MIN(x, y);
|
||||||
|
|
||||||
log_info("job_get_timeout %s %d/%"PRIu64" %d/%"PRIu64" -> 1/%"PRIu64,
|
|
||||||
j->unit->id, r, x, q, y, *timeout);
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1532,23 +1532,10 @@ static int manager_dispatch_signal_fd(sd_event_source *source, int fd, uint32_t
|
|||||||
return -errno;
|
return -errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sfsi.ssi_pid > 0) {
|
log_received_signal(sfsi.ssi_signo == SIGCHLD ||
|
||||||
_cleanup_free_ char *p = NULL;
|
(sfsi.ssi_signo == SIGTERM && m->running_as == SYSTEMD_USER)
|
||||||
|
? LOG_DEBUG : LOG_INFO,
|
||||||
get_process_comm(sfsi.ssi_pid, &p);
|
&sfsi);
|
||||||
|
|
||||||
log_full(sfsi.ssi_signo == SIGCHLD ||
|
|
||||||
(sfsi.ssi_signo == SIGTERM && m->running_as == SYSTEMD_USER)
|
|
||||||
? LOG_DEBUG : LOG_INFO,
|
|
||||||
"Received SIG%s from PID "PID_FMT" (%s).",
|
|
||||||
signal_to_string(sfsi.ssi_signo),
|
|
||||||
sfsi.ssi_pid, strna(p));
|
|
||||||
} else
|
|
||||||
log_full(sfsi.ssi_signo == SIGCHLD ||
|
|
||||||
(sfsi.ssi_signo == SIGTERM && m->running_as == SYSTEMD_USER)
|
|
||||||
? LOG_DEBUG : LOG_INFO,
|
|
||||||
"Received SIG%s.",
|
|
||||||
signal_to_string(sfsi.ssi_signo));
|
|
||||||
|
|
||||||
switch (sfsi.ssi_signo) {
|
switch (sfsi.ssi_signo) {
|
||||||
|
|
||||||
|
@ -1251,7 +1251,7 @@ static int dispatch_sigterm(sd_event_source *es, const struct signalfd_siginfo *
|
|||||||
|
|
||||||
assert(s);
|
assert(s);
|
||||||
|
|
||||||
log_info("Received SIG%s", signal_to_string(si->ssi_signo));
|
log_received_signal(LOG_INFO, si);
|
||||||
|
|
||||||
sd_event_exit(s->event, 0);
|
sd_event_exit(s->event, 0);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -973,3 +973,20 @@ static const char *const log_target_table[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
DEFINE_STRING_TABLE_LOOKUP(log_target, LogTarget);
|
DEFINE_STRING_TABLE_LOOKUP(log_target, LogTarget);
|
||||||
|
|
||||||
|
void log_received_signal(int level, const struct signalfd_siginfo *si) {
|
||||||
|
if (si->ssi_pid > 0) {
|
||||||
|
_cleanup_free_ char *p = NULL;
|
||||||
|
|
||||||
|
get_process_comm(si->ssi_pid, &p);
|
||||||
|
|
||||||
|
log_full(level,
|
||||||
|
"Received SIG%s from PID "PID_FMT" (%s).",
|
||||||
|
signal_to_string(si->ssi_signo),
|
||||||
|
si->ssi_pid, strna(p));
|
||||||
|
} else
|
||||||
|
log_full(level,
|
||||||
|
"Received SIG%s.",
|
||||||
|
signal_to_string(si->ssi_signo));
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -21,9 +21,10 @@
|
|||||||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||||
***/
|
***/
|
||||||
|
|
||||||
#include <syslog.h>
|
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
#include <syslog.h>
|
||||||
|
#include <sys/signalfd.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
#include "macro.h"
|
#include "macro.h"
|
||||||
@ -167,3 +168,5 @@ const char *log_target_to_string(LogTarget target) _const_;
|
|||||||
LogTarget log_target_from_string(const char *s) _pure_;
|
LogTarget log_target_from_string(const char *s) _pure_;
|
||||||
|
|
||||||
#define MESSAGE_ID(x) "MESSAGE_ID=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(x)
|
#define MESSAGE_ID(x) "MESSAGE_ID=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(x)
|
||||||
|
|
||||||
|
void log_received_signal(int level, const struct signalfd_siginfo *si);
|
||||||
|
Loading…
Reference in New Issue
Block a user