]> git.ipfire.org Git - thirdparty/systemd.git/commit
core: stop ignoring errors in connect_logger_as
authorEvgeny Vereshchagin <evvers@ya.ru>
Thu, 18 Oct 2018 05:47:26 +0000 (05:47 +0000)
committerLennart Poettering <lennart@poettering.net>
Fri, 19 Oct 2018 08:32:21 +0000 (10:32 +0200)
commit2ac1ff68f25374dd1274aba41aaef69b404fca94
treebdb8a95d530528fa0494c7a356ba02f46e20c294
parent6ab1853953d89409cb93b217ad016654a7566b9e
core: stop ignoring errors in connect_logger_as

When journald reaches the maximum number of active streams, it,
basically, starts to decline new connections. On the client
side it can be detected by getting EPIPE and, if the writing
process isn't lucky enough, getting SIGPIPE soon afterwards.
systemd has always ignored EPIPE, which makes it very hard
to keep track of services losing logs. This patch should make
it easier to detect such services by just staring at the logs
carefully.

In case anyone is interested, the following one-liner run as any user
can be used to paralyze all the stream logging on a machine:

for i in {1..4096}; do systemd-cat -t HEY-$i & done
src/core/execute.c