there is no clean way to check whether we are in signal handling context, so it needs to be passed as parameter.
the right way (and, hopefully, one day available) is to pass it as a keyword parameter. Except that we are still supporting 1.9.x Ruby
when switching to keyword would occur, the defaults would disappear from method definitions (and ugly in_signal_handler=in_signal_handler as well. It is also a bit safer since some existing methods use parameters with default.
Some design considerations:
in_signal_handler=in_signal_handler
as well. It is also a bit safer since some existing methods use parameters with default.