The reaper module provides a $SIG{CHLD} handler that can be installed globally as well as locally. It also supports chaining of signal handlers, meaning it will not just replace an existing $SIG{CHLD} handler. It still requires applications to do the right thing in using this module and not installing their own versions. At least it provides a consistent implementation that can be shared between various modules.