--- konsole/src/TEPty.C.orig Fri Oct 20 21:57:06 2000 +++ konsole/src/TEPty.C Fri Oct 20 22:04:22 2000 @@ -180,9 +180,14 @@ int chownpty(int fd, int grant) // param grant: 1 to grant, 0 to revoke // returns 1 on success 0 on fail { +// XXX + struct sigaction oact; + sigaction(SIGCHLD, NULL, &oact); + signal(SIGCHLD, SIG_DFL); pid_t pid = fork(); if (pid < 0) { + sigaction(SIGCHLD, &oact, NULL); return 0; } if (pid == 0) @@ -199,6 +204,7 @@ int chownpty(int fd, int grant) int rc = waitpid (pid, &w, 0); if ((rc == -1) && (errno == EINTR)) goto retry; + sigaction(SIGCHLD, &oact, NULL); return (rc != -1 && WIFEXITED(w) && WEXITSTATUS(w) == 0); } return 0; //dummy.