26f897c1ec
release / release-please (push) Failing after 1m49s
docs / build (push) Failing after 6m34s
release / build-and-upload (arm64, linux) (push) Has been cancelled
release / build-and-upload (arm64, windows) (push) Has been cancelled
release / build-darwin (amd64, darwin) (push) Has been cancelled
release / checksums (push) Has been cancelled
release / finalize (push) Has been cancelled
release / build-darwin (arm64, darwin) (push) Has been cancelled
release / build-and-upload (amd64, linux) (push) Has been cancelled
release / build-and-upload (amd64, windows) (push) Has been cancelled
docs / deploy (push) Has been cancelled
31 lines
699 B
Go
31 lines
699 B
Go
package update
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"os/exec"
|
|
)
|
|
|
|
func defaultSpawnBackground(currentVersion string) error {
|
|
execPath, err := os.Executable()
|
|
if err != nil {
|
|
return fmt.Errorf("resolve executable: %w", err)
|
|
}
|
|
devNull, err := os.OpenFile(os.DevNull, os.O_WRONLY, 0)
|
|
if err != nil {
|
|
return fmt.Errorf("open null device: %w", err)
|
|
}
|
|
defer devNull.Close()
|
|
|
|
cmd := exec.Command(execPath, backgroundFlag, currentVersion)
|
|
cmd.Env = append(os.Environ(), noUpdateCheckEnv+"=1")
|
|
cmd.Stdout = devNull
|
|
cmd.Stderr = devNull
|
|
cmd.Stdin = nil
|
|
cmd.SysProcAttr = detachedProcAttr()
|
|
if err := cmd.Start(); err != nil {
|
|
return fmt.Errorf("start background update check: %w", err)
|
|
}
|
|
return nil
|
|
}
|