Mark the future done.
Helper setting the result only if the future was not cancelled.
See Implementation