Update: Improve sleeping logic, also replacing sleep() with nanosleep().
The previous time-related regression fix introduced unblocking the signals as an immediate solution to its problem.
The preferred and intended design is to have the signal handling done by controller rather than done automatically.
Redesign the sleep functions to only unblock the signals for the sleep call.
Then re-lock the signal so that the intended design may be continued.
This then allows all appropriate cleanup functionality to operate as expected.
This can be confirmed with valgrind before/after and sending an interrupt during a validation process that utilizes a sleep (such as the example htop rule).
Create several functions to standardize some of the processes involved.
This also resolves a "todo" designating to replace sleep() with nanosleep().