# HG changeset patch # User Yuya Nishihara # Date 2016-06-15 14:49:56 # Node ID 3ddf4d0c41702904a4966edba78765582f35bea5 # Parent 85a18f3c0bddb989ba9f93eb85470c5d479703e9 chg: ignore SIGINT while waiting pager termination Otherwise the terminal would be left with unclean state. This is what fcc4b55876c3 does. diff --git a/contrib/chg/chg.c b/contrib/chg/chg.c --- a/contrib/chg/chg.c +++ b/contrib/chg/chg.c @@ -434,8 +434,6 @@ static void restoresignalhandler() if (sigaction(SIGHUP, &sa, NULL) < 0) goto error; - if (sigaction(SIGINT, &sa, NULL) < 0) - goto error; if (sigaction(SIGTERM, &sa, NULL) < 0) goto error; if (sigaction(SIGWINCH, &sa, NULL) < 0) @@ -445,6 +443,11 @@ static void restoresignalhandler() if (sigaction(SIGTSTP, &sa, NULL) < 0) goto error; + /* ignore Ctrl+C while shutting down to make pager exits cleanly */ + sa.sa_handler = SIG_IGN; + if (sigaction(SIGINT, &sa, NULL) < 0) + goto error; + peerpid = 0; return;