Revert "Fix #225"

This reverts commit 32dde3390a.
This commit is contained in:
Arun Prakash Jana 2019-04-25 21:11:35 +05:30
parent 6186e8b458
commit 04bd1ea71d
1 changed files with 11 additions and 22 deletions

View File

@ -936,15 +936,7 @@ static int join(pid_t p, uchar flag)
if (!(flag & F_NOWAIT)) {
/* wait for the child to exit */
do {
/* Exit if parent has exited */
if (getppid() == 1) {
/* Kill child */
kill(p, SIGKILL);
/* Exit */
_exit(0);
}
} while (waitpid(p, &status, WNOHANG) <= 0);
} while (waitpid(p, &status, 0) == -1);
if (WIFEXITED(status)) {
status = WEXITSTATUS(status);
@ -1008,8 +1000,6 @@ static int spawn(char *file, char *arg1, char *arg2, const char *dir, uchar flag
exitcurses();
pid = xfork(flag);
/* Child */
if (pid == 0) {
if (dir && chdir(dir) == -1)
_exit(1);
@ -1025,19 +1015,18 @@ static int spawn(char *file, char *arg1, char *arg2, const char *dir, uchar flag
execvp(*argv, argv);
_exit(1);
} else {
retstatus = join(pid, flag);
DPRINTF_D(pid);
if (flag & F_NORMAL) {
nonl();
noecho();
}
free(cmd);
}
/* Parent */
retstatus = join(pid, flag);
DPRINTF_D(pid);
if (flag & F_NORMAL) {
nonl();
noecho();
}
free(cmd);
return retstatus;
}