mirror of
https://github.com/borgbackup/borg.git
synced 2026-06-14 20:13:21 -04:00
archiver: create_cmd: do not add preexec_fn on Windows
The preexec_fn argument of Popen is not supported on Windows.
This commit is contained in:
parent
1deeb0b17d
commit
5e8452a705
2 changed files with 9 additions and 4 deletions
|
|
@ -28,6 +28,7 @@ from ..helpers import sig_int, ignore_sigint
|
|||
from ..helpers import iter_separated
|
||||
from ..manifest import Manifest
|
||||
from ..patterns import PatternMatcher
|
||||
from ..platform import is_win32
|
||||
from ..platform import get_flags
|
||||
from ..platform import uid2user, gid2group
|
||||
|
||||
|
|
@ -68,7 +69,9 @@ class CreateMixIn:
|
|||
if not dry_run:
|
||||
try:
|
||||
try:
|
||||
proc = subprocess.Popen(args.paths, stdout=subprocess.PIPE, preexec_fn=ignore_sigint)
|
||||
proc = subprocess.Popen(
|
||||
args.paths, stdout=subprocess.PIPE, preexec_fn=None if is_win32 else ignore_sigint
|
||||
)
|
||||
except (FileNotFoundError, PermissionError) as e:
|
||||
self.print_error("Failed to execute command: %s", e)
|
||||
return self.exit_code
|
||||
|
|
@ -89,7 +92,9 @@ class CreateMixIn:
|
|||
paths_sep = eval_escapes(args.paths_delimiter) if args.paths_delimiter is not None else "\n"
|
||||
if args.paths_from_command:
|
||||
try:
|
||||
proc = subprocess.Popen(args.paths, stdout=subprocess.PIPE, preexec_fn=ignore_sigint)
|
||||
proc = subprocess.Popen(
|
||||
args.paths, stdout=subprocess.PIPE, preexec_fn=None if is_win32 else ignore_sigint
|
||||
)
|
||||
except (FileNotFoundError, PermissionError) as e:
|
||||
self.print_error("Failed to execute command: %s", e)
|
||||
return self.exit_code
|
||||
|
|
|
|||
|
|
@ -341,7 +341,7 @@ def create_filter_process(cmd, stream, stream_close, inbound=True):
|
|||
stdin=filter_stream,
|
||||
log_prefix="filter-process: ",
|
||||
env=env,
|
||||
preexec_fn=ignore_sigint,
|
||||
preexec_fn=None if is_win32 else ignore_sigint,
|
||||
)
|
||||
else:
|
||||
proc = popen_with_error_handling(
|
||||
|
|
@ -350,7 +350,7 @@ def create_filter_process(cmd, stream, stream_close, inbound=True):
|
|||
stdout=filter_stream,
|
||||
log_prefix="filter-process: ",
|
||||
env=env,
|
||||
preexec_fn=ignore_sigint,
|
||||
preexec_fn=None if is_win32 else ignore_sigint,
|
||||
)
|
||||
if not proc:
|
||||
raise Error(f"filter {cmd}: process creation failed")
|
||||
|
|
|
|||
Loading…
Reference in a new issue