mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
997125affe
These signals are meant to send to a process group, instead of a single process: SIGINT is usually emitted by the terminal and sent to the process group. SIGHUP usually happens to a process group if termination of a process causes that process group to become orphaned. Before this patch, chg will only forward these signals to the single server process. This patch changes it to the server process group. This will allow us to properly kill processes started by the forked server process, like a ssh process. The behavior difference can be observed by setting SSH_ASKPASS to a dummy script doing "sleep 100" and then run "chg push ssh://dest-need-password-auth". Before this patch, the first Ctrl+C will kill the hg process while ssh-askpass and ssh will remain alive. This patch will make sure they are killed properly. |
||
---|---|---|
.. | ||
chg.1 | ||
chg.c | ||
hgclient.c | ||
hgclient.h | ||
Makefile | ||
README | ||
util.c | ||
util.h |
cHg === A fast client for Mercurial command server running on Unix. Install: $ make $ make install Usage: $ chg help # show help of Mercurial $ alias hg=chg # replace hg command $ chg --kill-chg-daemon # terminate background server Environment variables: Although cHg tries to update environment variables, some of them cannot be changed after spawning the server. The following variables are specially handled: * configuration files are reloaded automatically by default. * CHGHG or HG specifies the path to the hg executable spawned as the background command server. The following variables are available for testing: * CHGDEBUG enables debug messages. * CHGSOCKNAME specifies the socket path of the background cmdserver. * CHGTIMEOUT specifies how many seconds chg will wait before giving up connecting to a cmdserver. If it is 0, chg will wait forever. Default: 60