View in context in the libbitcoin Slack #general mirror.
pause event rebroadcast in the backup event handler in the case of a wait_lock event. The wait_lock signals that store write exclusivity was not obtained for a full second and will retry. Resending the pause event suspends any channels that may have missed it on the initial send. This does technically present a halting problem, since that back and forth can theoretically go on forever, but that's extremely unlikely. If it did for some reason happen, all that occurs is the backup is deferred until store close, which suspends all channels, resulting in backup obtaining the lock, completing the snapshot, and then close obtaining the lock. So a simple one line good solution to a tricky race condition.