mirror of
https://github.com/go-gitea/gitea.git
synced 2025-09-09 11:48:15 +00:00
19
modules/process/manager_unix.go
Normal file
19
modules/process/manager_unix.go
Normal file
@@ -0,0 +1,19 @@
|
||||
// Copyright 2022 The Gitea Authors. All rights reserved.
|
||||
// Use of this source code is governed by a MIT-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
//go:build !windows
|
||||
// +build !windows
|
||||
|
||||
package process
|
||||
|
||||
import (
|
||||
"os/exec"
|
||||
"syscall"
|
||||
)
|
||||
|
||||
// SetSysProcAttribute sets the common SysProcAttrs for commands
|
||||
func SetSysProcAttribute(cmd *exec.Cmd) {
|
||||
// When Gitea runs SubProcessA -> SubProcessB and SubProcessA gets killed by context timeout, use setpgid to make sure the sub processes can be reaped instead of leaving defunct(zombie) processes.
|
||||
cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}
|
||||
}
|
Reference in New Issue
Block a user