The loops are separate to eliminate an unnecessary condition.

The test for m_shutdownPartitionProcessors is done before processing the table because we should avoid manipulating a poisoned table.