rearrange forking code a bit -- "advance" was getting called
(harmlessly) by both the parent and child processes