diff options
Diffstat (limited to 'Src/jobs.c')
-rw-r--r-- | Src/jobs.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Src/jobs.c b/Src/jobs.c index 503618f47..330ee6b37 100644 --- a/Src/jobs.c +++ b/Src/jobs.c @@ -2289,8 +2289,11 @@ bin_fg(char *name, char **argv, Options ops, int func) */ retval = waitforpid(pid, 1); } - if (retval == 0) - retval = lastval2; + if (retval == 0) { + if ((retval = getbgstatus(pid)) < 0) { + retval = lastval2; + } + } } else if ((retval = getbgstatus(pid)) < 0) { zwarnnam(name, "pid %d is not a child of this shell", pid); /* presumably lastval2 doesn't tell us a heck of a lot? */ |