chiark / gitweb /
execute: avoid logging to closed fds
authorMichal Schmidt <mschmidt@redhat.com>
Wed, 16 Nov 2011 22:45:01 +0000 (23:45 +0100)
committerMichal Schmidt <mschmidt@redhat.com>
Wed, 16 Nov 2011 22:52:10 +0000 (23:52 +0100)
commit4d8a7798e7f12c6400495cbc4d0ad57ed20ce90a
tree53dd18d58fd8d78aa2a18f3a7b026abc9bbbaacc
parent085c98af4eb17858b4687068f12eccc51a032732
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.
src/execute.c
src/log.c
src/log.h