While collecting the result, register worker only as free, if data was
received from the socket. Otherwise the worker has terminated abnormally
and will be handled by the reaper.
WorkerPool::getBusyWorkers() and WorkerPool::getFreeWorkers() fails
for destroyed worker pools.