Use blocking reads unless we're shutting down, so we don't have to call time() once...