team: ignore SIGPIPE when spawning teamd

System Internals / NetworkManager - Beniamino Galvani [redhat.com] - 18 November 2016 07:45 UTC

With systemd < 219, restarting the journald service closes the stdout and stderr streams associated with services.

The NM process has SIGPIPE ignored, but g_spawn_sync()/g_spawn_async() re-enable it and so any child executed with those functions will terminate by default if it tries to log anything to stdout/stderr.

The teamd instance launched by NM is affected by this problem since it writes debug messages before actually ignoring SIGPIPE.

To fix this, use the @child_setup callback of g_spawn() to ignore again SIGPIPE in the child process.

https://bugzilla.redhat.com/show_bug.cgi?id=1393853

a6d34f9 team: ignore SIGPIPE when spawning teamd
src/devices/team/nm-device-team.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

Upstream: cgit.freedesktop.org


  • Share