diff options
author | rsc <devnull@localhost> | 2005-02-08 18:01:04 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2005-02-08 18:01:04 +0000 |
commit | dc305d03681e150b97acf4631a514868acd4b276 (patch) | |
tree | 2452571d92327cb485a4a8371eabf1685d16c7f5 /src/cmd | |
parent | dd4afdf4eb411c2899f792cb11380877af065b1d (diff) | |
download | plan9port-dc305d03681e150b97acf4631a514868acd4b276.tar.gz plan9port-dc305d03681e150b97acf4631a514868acd4b276.tar.bz2 plan9port-dc305d03681e150b97acf4631a514868acd4b276.zip |
Maybe it will run on SunOS 5.8 now.
Diffstat (limited to 'src/cmd')
-rw-r--r-- | src/cmd/9term/SunOS.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/cmd/9term/SunOS.c b/src/cmd/9term/SunOS.c index ba3039a6..97cae2dc 100644 --- a/src/cmd/9term/SunOS.c +++ b/src/cmd/9term/SunOS.c @@ -9,8 +9,14 @@ int getpts(int fd[], char *slave) { + void (*f)(int); + int r; + fd[1] = open("/dev/ptmx", ORDWR); - if ((grantpt(fd[1]) < 0) || (unlockpt(fd[1]) < 0)) + f = signal(SIGCLD, SIG_DFL); + r = grantpt(fd[1]); + signal(SIGCLD, f); + if(r < 0 || unlockpt(fd[1]) < 0) return -1; fchmod(fd[1], 0622); |