From 01087e9eef21ff5ea1cebbb1e84933954671fdf2 Mon Sep 17 00:00:00 2001 From: zeripath Date: Tue, 30 Nov 2021 20:06:32 +0000 Subject: Make Requests Processes and create process hierarchy. Associate OpenRepository with context. (#17125) This PR registers requests with the process manager and manages hierarchy within the processes. Git repos are then associated with a context, (usually the request's context) - with sub commands using this context as their base context. Signed-off-by: Andrew Thornton --- services/gitdiff/gitdiff.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'services/gitdiff') diff --git a/services/gitdiff/gitdiff.go b/services/gitdiff/gitdiff.go index 44c1727719..166660b87e 100644 --- a/services/gitdiff/gitdiff.go +++ b/services/gitdiff/gitdiff.go @@ -1303,8 +1303,9 @@ func GetDiff(gitRepo *git.Repository, opts *DiffOptions, files ...string) (*Diff return nil, err } - ctx, cancel := context.WithTimeout(git.DefaultContext, time.Duration(setting.Git.Timeout.Default)*time.Second) - defer cancel() + timeout := time.Duration(setting.Git.Timeout.Default) * time.Second + ctx, _, finished := process.GetManager().AddContextTimeout(gitRepo.Ctx, timeout, fmt.Sprintf("GetDiffRange [repo_path: %s]", repoPath)) + defer finished() argsLength := 6 if len(opts.WhitespaceBehavior) > 0 { @@ -1369,9 +1370,6 @@ func GetDiff(gitRepo *git.Repository, opts *DiffOptions, files ...string) (*Diff return nil, fmt.Errorf("error during Start: %w", err) } - pid := process.GetManager().Add(fmt.Sprintf("GetDiffRange [repo_path: %s]", repoPath), cancel) - defer process.GetManager().Remove(pid) - diff, err := ParsePatch(opts.MaxLines, opts.MaxLineCharacters, opts.MaxFiles, stdout, parsePatchSkipToFile) if err != nil { return nil, fmt.Errorf("unable to ParsePatch: %w", err) -- cgit v1.2.3