I did not mean that the while loop finishes, I said that the current INSTRUCTION finishes where ever it is in the loop. Execution goes to the ISR and returns to the next instruction in the loop. You interrupt the loop and then go back to the place you left off in the loop.