slaves that will never receive any more work are still "very busy" with polling for work (thanks to MPI_Recv). lots of ways to fix it, maybe easiest is to a append a "terminate" payload per slave to the readCmd function output?