the new code here is not equivalent to the old and this new code will result in starvation of the priority queue processing.  

The old code would consume the priority queue and when it was empty, it would take _one_ job from the standard queue.  After that it would return to the priority queue and repeat the cycle.

The new algorithm consumes the priority queue and the goes on to consume the standard queue.  The standard queue may not be exhaustible and we may never get back to consuming the priority queue.