mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	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 <art27@cantab.net>
This commit is contained in:
		
							
								
								
									
										8
									
								
								modules/markup/external/external.go
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								modules/markup/external/external.go
									
									
									
									
										vendored
									
									
								
							@@ -5,7 +5,6 @@
 | 
			
		||||
package external
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"context"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"io"
 | 
			
		||||
	"os"
 | 
			
		||||
@@ -107,11 +106,8 @@ func (p *Renderer) Render(ctx *markup.RenderContext, input io.Reader, output io.
 | 
			
		||||
		ctx.Ctx = graceful.GetManager().ShutdownContext()
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	processCtx, cancel := context.WithCancel(ctx.Ctx)
 | 
			
		||||
	defer cancel()
 | 
			
		||||
 | 
			
		||||
	pid := process.GetManager().Add(fmt.Sprintf("Render [%s] for %s", commands[0], ctx.URLPrefix), cancel)
 | 
			
		||||
	defer process.GetManager().Remove(pid)
 | 
			
		||||
	processCtx, _, finished := process.GetManager().AddContext(ctx.Ctx, fmt.Sprintf("Render [%s] for %s", commands[0], ctx.URLPrefix))
 | 
			
		||||
	defer finished()
 | 
			
		||||
 | 
			
		||||
	cmd := exec.CommandContext(processCtx, commands[0], args...)
 | 
			
		||||
	cmd.Env = append(
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user