##// END OF EJS Templates
worker: raise exception instead of calling sys.exit() with child's code...
worker: raise exception instead of calling sys.exit() with child's code When a worker process returns an error code, we would call `sys.exit()` with that exit code on the main process. The `SystemExit` exception would then get caught in `scmutil.callcatch()`, which would return that error code. The comment there says "Commands shouldn't sys.exit directly", which I agree with. This patch changes it so we raise a specific exception when a worker fails so we can catch instead. I think that means that `SystemExit` is now always an internal error. (I had earlier thought that this call to `sys.exit()` was from within the child process until Matt Harbison made me look again, so thanks for that!) Differential Revision: https://phab.mercurial-scm.org/D9287

File last commit:

r46184:e604a3c0 default
r46429:8f07f5a9 default
Show More
Cargo.toml
32 lines | 794 B | text/plain | TOMLLexer
[package]
name = "hg-cpython"
version = "0.1.0"
authors = ["Georges Racinet <gracinet@anybox.fr>"]
edition = "2018"
[lib]
name='rusthg'
crate-type = ["cdylib"]
[features]
default = ["python27"]
dirstate-tree = ["hg-core/dirstate-tree"]
# Features to build an extension module:
python27 = ["cpython/python27-sys", "cpython/extension-module-2-7"]
python3 = ["cpython/python3-sys", "cpython/extension-module"]
# Enable one of these features to build a test executable linked to libpython:
# e.g. cargo test --no-default-features --features python27-bin
python27-bin = ["cpython/python27-sys"]
python3-bin = ["cpython/python3-sys"]
[dependencies]
hg-core = { path = "../hg-core"}
libc = '*'
log = "0.4.8"
env_logger = "0.7.1"
[dependencies.cpython]
version = "0.4.1"
default-features = false