The main thing here is that the process loop exits if the DF process_job
or process_dig flags are set since if these are set the job list is
going to change soon anyway. The plugin also sets these flags when it
changes any labors, which has the side effect of effectively disabling
the process loop while DF is paused, which prevents flapping while
editing job preferences in-game, and also allows changing job
preferences in game (although such changes may not last when the clock
starts up again).