mirror of
https://github.com/restic/restic.git
synced 2024-12-25 17:27:25 +00:00
Merge pull request #3696 from cqjjjzr/fix-win-procgrp
Fix rclone (scoop shim) and sftp issue due to detached console on Windows
This commit is contained in:
commit
192288bc9c
2 changed files with 13 additions and 1 deletions
12
changelog/unreleased/issue-3692
Normal file
12
changelog/unreleased/issue-3692
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
Bugfix: Fix rclone (shimmed by Scoop) and sftp stopped working on Windows
|
||||||
|
|
||||||
|
In #3602 a fix was introduced to fix the problem that rclone prematurely exits
|
||||||
|
when Ctrl+C is pressed on Windows. The solution was to create the subprocess
|
||||||
|
with its console detached from the restic console. However, such solution
|
||||||
|
fails when using rclone install by scoop or using sftp with a passphrase-
|
||||||
|
protected private key. We've fixed that by using a different approach to prevent
|
||||||
|
Ctrl-C from passing down too early.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/3681
|
||||||
|
https://github.com/restic/restic/issues/3692
|
||||||
|
https://github.com/restic/restic/pull/3696
|
|
@ -11,7 +11,7 @@ import (
|
||||||
func startForeground(cmd *exec.Cmd) (bg func() error, err error) {
|
func startForeground(cmd *exec.Cmd) (bg func() error, err error) {
|
||||||
// just start the process and hope for the best
|
// just start the process and hope for the best
|
||||||
cmd.SysProcAttr = &syscall.SysProcAttr{}
|
cmd.SysProcAttr = &syscall.SysProcAttr{}
|
||||||
cmd.SysProcAttr.CreationFlags = windows.DETACHED_PROCESS
|
cmd.SysProcAttr.CreationFlags = windows.CREATE_NEW_PROCESS_GROUP
|
||||||
err = cmd.Start()
|
err = cmd.Start()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "cmd.Start")
|
return nil, errors.Wrap(err, "cmd.Start")
|
||||||
|
|
Loading…
Reference in a new issue