Forked process behaves differently with/without delay in the process. Without delay simulation is halting otherwise it is smooth (Checker vs Monitor Queue)

In reply to kb646bits:

Your problem may be when mon2check.size is >0, but drive2check.size is not >0, you get into a zero delay loop and there is no opportunity for any other processs to add to the drive2check queue. You need to wait(both to be >0).