func MergeDeadline()

in ctxtool/merge.go [177:189]


func MergeDeadline(ctx context.Context, deadliner deadliner) context.Context {
	deadline, ok := deadliner.Deadline()
	if !ok {
		return ctx
	}

	ctxDeadline, ok := ctx.Deadline()
	if ok && ctxDeadline.Before(deadline) {
		return ctx
	}

	return &mergedDeadlineCtx{ctx, deadline}
}