On Sat, 21 Mar 2026 at 22:34:38 +0100, Johannes Stezenbach wrote:
I couldn't find evidence of volumeicon ignoring this signal in codesearch,
but perhaps some library that it uses that ignores this signal, rather than
volumeicon itself?
volumeicon itself does it:
https://github.com/mati75/volumeicon-debian/blob/master/src/volumeicon.c#L1330
Huh, I wonder why codesearch didn't find that? Perhaps it was removed
from codesearch's index immediately when it was removed from unstable
(I'd assumed it would still be there for a while, since it's still on
sources.debian.org).
Presumably because it can spawn an external mixer,
the default is "xterm -e 'alsamixer'".
It would be better if it did this with an interface that reaps the
process without needing to ignore SIGCHLD, like g_spawn_async() without
G_SPAWN_DO_NOT_REAP_CHILD, or double-forking (forking in the child_setup
function, in GLib's APIs) to get the process re-parented to something
that will reap it. GLib's API documentation for
g_child_watch_source_new() has a long list of ways that waiting for a
process can fail, unless all the libraries that share a process space
are cooperating with each other.
smcv