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).