Since my last e-mail, I have been bombarded with numerous e-mail messages saying among other things that I contradicted myself in e-mail, class and the web site (you are right). Many of you gave a good argument for my changing the order of the queue for an arrival. You also made a good point in saying my first answer was the opposite of the last one and that I was "punishing" those of you who started early. I never meant to make a contradiction in ordering and will promise to be more careful in the future. Those people who "yelled" at me and made such good arguments win! As much as I hate to resend my previous e-mail, I feel that I have to. Here is the result: ready <-- A,B (a running) C arrives ready <-- B,A,C The argument that convinced me to change my mind was that an internal event gets processed first and that means that the running job would move prior to the arrival getting processed: The algorithm is: 1. run -> ready 2. process internal event 3. process external event 4. ready -> run Again, I do apologize. sh