Commit Briefs
alter the string, don't advance pointer
if we advance the pointer, we crash during reload due to an invalid address given to free. altering the string is the way.
avoid race-condition
what if we receive a SIGHUP right after unblock_signal (or during the whole block_signals...unblock_signals) but *before* the wait_sighup? Yeah.
add compat for setproctitle
This adds a check for setproctitle and for the (linux) prctl PR_SET_NAME. If setproctitle is not available, on linux we provide an implementation that use prctl (taken from tmux compat layer.)
use upper bound given by poll
it's a waste to loop through all fds. We know the *exact* number of clients that needs attention, so use that information to limit the looping.
refactor executor_main
now it's symmetrical to listener_main().
revert commit 346f28eeaa205d268d1e63c7ffd86cf041f6d1e6
keep mark_nonblock in utils.c, as otherwise the build for the regress suite will fail (mark_nonblock needs fatal which is in gmid.c, and we can't link gmid.o with the regress suite...)