From e012d409f2decef77d21b4ee3ba3854c75869722 Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Sat, 22 Sep 2007 20:49:42 +0800 Subject: [SHELL] Restore foreground process group on exit On Thu, Jun 07, 2007 at 12:20:27PM +0200, Denis Vlasenko wrote: > > When I start dash under Midnight Commander and then type 'exit', dash > exits all right, but then MC is sent to background. It happens because > dash does not restore current process group on exit. > > Attached patch fixes this. It also fixes another bug: setjobctl(0) > must ignore tcsetpgrp errors, because there are cases when tty is > destroyed under dash. > > Patch is run-tested. I've fixed this slightly differently so that we don't need the xtcsetpgrp change. --- src/trap.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/trap.c b/src/trap.c index eae6186..c386db7 100644 --- a/src/trap.c +++ b/src/trap.c @@ -357,7 +357,7 @@ exitshell(void) TRACE(("pid %d, exitshell(%d)\n", getpid(), status)); if (setjmp(loc.loc)) { if (exception == EXEXIT) - _exit(exitstatus); + status = exitstatus; goto out; } handler = &loc; @@ -367,6 +367,12 @@ exitshell(void) } flushall(); out: + /* + * Disable job control so that whoever had the foreground before we + * started can get it back. + */ + if (likely(!setjmp(loc.loc))) + setjobctl(0); _exit(status); /* NOTREACHED */ } -- cgit 1.4.1 >
path: root/bin/1sh/.gitignore (unfollow)
Commit message (Expand)Author
2020-12-15Add bibsortJune McEnroe
2020-12-08Add modem -r flag to set baud rateJune McEnroe
2020-12-07Clean up variable expansions in c.shJune McEnroe
2020-12-06Add I Feel It AllJune McEnroe
2020-12-05Handle const strings in c -eJune McEnroe
2020-12-05Disable mouse in htopJune McEnroe
2020-12-03Note lack of macro expansions in Q(...)June McEnroe
2020-12-02Fix missing "to" in "hot tips"June McEnroe
2020-12-02Publish "hot tips"June McEnroe
2020-11-26Publish "Inability"June McEnroe
2020-11-26Render content into atom feedJune McEnroe
2020-11-26Update plan with different things I won't doJune McEnroe
2020-11-19Add "Come On Petunia"June McEnroe
2020-11-13Add x4 to LESSJune McEnroe
2020-11-04Remove modified sensitivity settingsJune McEnroe
2020-10-29Remove editJune McEnroe
2020-10-27Switch gr alias back to git rebaseJune McEnroe
2020-10-27Allow cd host: to cd to same path over sshJune McEnroe
2020-10-27Use SendEnv for cd host:pathJune McEnroe
2020-10-27Allow cd host:path over sshJune McEnroe
2020-10-07Use mandoc -T utf8 for text.June McEnroe
2020-09-20Add The Awakened KingdomJune McEnroe
2020-09-12Move /opt/local back, cheat port select to use system manJune McEnroe
2020-09-12Move /opt/local behind /usr againJune McEnroe
2020-09-12Enable toc in cgit renderings of man pagesJune McEnroe
2020-09-11Install mandoc on macOSJune McEnroe
2020-09-11Rewrite install script yet againJune McEnroe
2020-09-11Remove NetBSD from install scriptJune McEnroe
2020-09-11Use MacPorts rather than pkgsrcJune McEnroe
2020-09-11Add debian VM name to sshJune McEnroe
2020-09-11Add influencer tweetJune McEnroe
2020-09-10Add The Kingdom of GodsJune McEnroe
2020-09-07Add SunglassesJune McEnroe
2020-09-06Add Between the BreathsJune McEnroe
2020-09-04Open /dev/tty in nudgeJune McEnroe
2020-09-04Add nudgeJune McEnroe
2020-09-03Build fbclock with -lzJune McEnroe
2020-08-29Add tweets from retweetsJune McEnroe