There is no legitimate reason SIGCHLD should be handled by the extension, so it shouldn't be intercepted.
So, instead of e4c_context_set_signal_mappings(e4c_default_signal_mappings); in mq_command (and perhaps in Rabbitmq_Unload if extension unload code has been implemented), we should:
- define our own signals array, with SIGSEGV, etc. but not SIGCHLD - the goal is to include every valuable signal risking to lead to a crash if not intercepted, but not the normal signals
- call this array in e4c_context_set_signal_mappings instead of e4c_default_signal_mappings
Downstream workaround to cleanup
Dæghrefn — When this bug is resolved, revert D111, which implements a workaround.