diff options
author | Michal Schmidt <mschmidt@redhat.com> | 2011-11-16 23:45:01 +0100 |
---|---|---|
committer | Michal Schmidt <mschmidt@redhat.com> | 2011-11-16 23:52:10 +0100 |
commit | 4d8a7798e7f12c6400495cbc4d0ad57ed20ce90a (patch) | |
tree | 53dd18d58fd8d78aa2a18f3a7b026abc9bbbaacc /src/log.h | |
parent | Fix same expression on both sides of '&&' (diff) | |
download | systemd-4d8a7798e7f12c6400495cbc4d0ad57ed20ce90a.tar.xz systemd-4d8a7798e7f12c6400495cbc4d0ad57ed20ce90a.zip |
execute: avoid logging to closed fds
Several functions called from the "sd(EXEC)" process try to log messages
when all the file descriptors are already closed, including the logging
ones. The logging functions do not expect their fds to be closed and
they hit an assertion failure. The failure wants to be logged too,
so there is an infinite recursion, ended by a SIGSEGV.
When we close all fds, we must let log.c know about it.
Diffstat (limited to 'src/log.h')
-rw-r--r-- | src/log.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -57,6 +57,7 @@ int log_get_max_level(void); int log_open(void); void log_close(void); +void log_forget_fds(void); void log_close_syslog(void); void log_close_kmsg(void); |