module-gsettings: Handle I/O hangup
authorIgor V. Kovalenko <igor.v.kovalenko@gmail.com>
Sun, 4 Jul 2021 06:58:26 +0000 (09:58 +0300)
committerIgor V. Kovalenko <igor.v.kovalenko@gmail.com>
Sun, 4 Jul 2021 08:14:37 +0000 (11:14 +0300)
commit0555d4f5a5568333ae48216af6e7f1cd6a02fba8
treef54f8a15946c1f73a80e1bc7d3ce60d3ba616815
parent7580ef31a1730d035385df4127b0aa25e8e9c590
module-gsettings: Handle I/O hangup

When child `gsettings-helper` terminates prematurely, unconditionally reading
from child pipe fails in a busy loop until child process is reaped.

Fix this by terminating module upon PA_IO_EVENT_HANGUP or PA_IO_EVENT_ERROR.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/600>
src/modules/gsettings/module-gsettings.c
src/modules/stdin-util.c