Cleanup pool suspend/resume semaphore use, add unit test.