Hi,
DetermineSleepTime() came with background workers (commit da07a1e8).
While working on I/O workers, which now also have time-scheduled
postmaster duties to support io_worker_launch_interval, I wondered if
it might be time to refactor it and make such things follow a standard
pattern, including the much more ancient SIGKILL and the
lockfile/socket stuff. Sketch patch attached.
Something similar happened to walreceiver.c.