1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-01 17:51:22 +03:00

coredump: turn off coredump collection only when PID 1 crashes, not when journald crashes (#3799)

As suggested:

5157879b75 (r71906971)
This commit is contained in:
Lennart Poettering 2016-07-25 19:03:43 +02:00 committed by Evgeny Vereshchagin
parent 3d391fa84f
commit c8091d92d5

View File

@ -918,9 +918,6 @@ static int process_special_crash(const char *context[], int input_fd) {
log_notice("Detected coredump of the journal daemon or PID 1, diverted to %s.", filename);
log_notice("Due to the special circumstances, coredump collection will now be turned off.");
(void) write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", 0);
return 0;
}
@ -980,6 +977,12 @@ static int process_kernel(int argc, char* argv[]) {
if (cg_pid_get_unit(pid, &t) >= 0) {
/* If this is PID 1 disable coredump collection, we'll unlikely be able to process it later on. */
if (streq(t, SPECIAL_INIT_SCOPE)) {
log_notice("Due to PID 1 having crashed coredump collection will now be turned off.");
(void) write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", 0);
}
/* Let's avoid dead-locks when processing journald and init crashes, as socket activation and logging
* are unlikely to work then. */
if (STR_IN_SET(t, SPECIAL_JOURNALD_SERVICE, SPECIAL_INIT_SCOPE)) {