def yieldefer(function):
    """
    Replacement for :func:`defer.inlineCallbacks` that supports cancellation.
    """
    defer.inlineCallbacks
    return lambda *args, **kwargs: _yielddefer(function, *args, **kwargs)