Ensure that take() doesnt need to wait for next iteration before signaling end