mirror of
https://github.com/go-gitea/gitea.git
synced 2026-09-01 02:29:40 +09:00
fix(process): reap entire process group on cmd.Cancel (#39143)
Signed-off-by: Royce Remer <royceremer@gmail.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
co-authored by
wxiaoguang
parent
88974d2db9
commit
eea03676d3
@@ -298,7 +298,7 @@ func verifyCommitSignByGPGSettings(ctx context.Context, gpgSettings *git.CommitS
|
||||
}
|
||||
|
||||
// Otherwise we have to parse the key
|
||||
pubKeyContent, err := gpgSettings.PublicKeyContent()
|
||||
pubKeyContent, err := gpgSettings.PublicKeyContent(ctx)
|
||||
if err != nil {
|
||||
log.Error("gpgSettings.PublicKeyContent: %v", err)
|
||||
return nil
|
||||
@@ -420,7 +420,7 @@ func parseCommitWithSSHSignature(ctx context.Context, c *git.Commit, committerUs
|
||||
|
||||
// Try the configured instance-wide SSH public key
|
||||
if instanceSettings := getInstanceCommitSignSettings(git.SigningKeyFormatSSH); instanceSettings != nil {
|
||||
pubKeyContent, err := instanceSettings.PublicKeyContent()
|
||||
pubKeyContent, err := instanceSettings.PublicKeyContent(ctx)
|
||||
if err != nil {
|
||||
log.Error("commitSignSettings.PublicKeyContent: %v", err)
|
||||
} else {
|
||||
|
||||
@@ -122,8 +122,7 @@ func PublicSigningKey(ctx context.Context) (content, format string, err error) {
|
||||
return string(content), signingKey.Format, nil
|
||||
}
|
||||
|
||||
content, stderr, err := process.GetManager().ExecDir(ctx, -1, setting.Git.HomePath,
|
||||
"gpg --export -a", "gpg", "--export", "-a", signingKey.KeyID)
|
||||
content, stderr, err := process.CommandContext(ctx, "gpg", "--export", "-a", signingKey.KeyID).WithDir(setting.Git.HomePath).OutputString()
|
||||
if err != nil {
|
||||
log.Error("Unable to get default signing key: %s, %s, %v", signingKey, stderr, err)
|
||||
return "", signingKey.Format, err
|
||||
|
||||
@@ -6,7 +6,6 @@ package sender
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"os/exec"
|
||||
"strings"
|
||||
|
||||
"gitea.dev/modules/graceful"
|
||||
@@ -47,12 +46,11 @@ func (s *SendmailSender) Send(from string, to []string, msg io.WriterTo) error {
|
||||
ctx, _, finished := process.GetManager().AddContextTimeout(graceful.GetManager().HammerContext(), setting.MailService.SendmailTimeout, desc)
|
||||
defer finished()
|
||||
|
||||
cmd := exec.CommandContext(ctx, setting.MailService.SendmailPath, args...)
|
||||
cmd := process.CommandContext(ctx, setting.MailService.SendmailPath, args...)
|
||||
pipe, err := cmd.StdinPipe()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
process.SetSysProcAttribute(cmd)
|
||||
|
||||
if err = cmd.Start(); err != nil {
|
||||
_ = pipe.Close()
|
||||
|
||||
Reference in New Issue
Block a user