procutil: try and avoid angering CoreFoundation on macOS
We've seen failures like this:
objc[57662]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called.
objc[57662]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
I think this is due to forking off some background processes during
`hg update` or similar. I don't have any conclusive proof this is the
fork() call that's to blame, but it's the most likely one since the
regular `hg update` codepath uses the other fork() invocation (via
workers) and we don't get this report from non-Google macOS users.
Ugh.
Differential Revision: https://phab.mercurial-scm.org/D7615
[package]
name = "chg"
version = "0.1.0"
authors = ["Yuya Nishihara <yuya@tcha.org>"]
description = "Client for Mercurial command server with cHg extension"
license = "GPL-2.0+"
[dependencies]
bytes = "0.4"
futures = "0.1"
libc = "0.2"
log = { version = "0.4", features = ["std"] }
tokio = "0.1"
tokio-hglib = "0.2"
# TODO: "^0.2.3" once released. we need AsRawFd support.
tokio-process = { git = "https://github.com/alexcrichton/tokio-process" }
tokio-timer = "0.2"
[build-dependencies]
cc = "1.0"