aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/9term/SunOS.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2005-02-08 18:01:04 +0000
committerrsc <devnull@localhost>2005-02-08 18:01:04 +0000
commitdc305d03681e150b97acf4631a514868acd4b276 (patch)
tree2452571d92327cb485a4a8371eabf1685d16c7f5 /src/cmd/9term/SunOS.c
parentdd4afdf4eb411c2899f792cb11380877af065b1d (diff)
downloadplan9port-dc305d03681e150b97acf4631a514868acd4b276.tar.gz
plan9port-dc305d03681e150b97acf4631a514868acd4b276.tar.bz2
plan9port-dc305d03681e150b97acf4631a514868acd4b276.zip
Maybe it will run on SunOS 5.8 now.
Diffstat (limited to 'src/cmd/9term/SunOS.c')
-rw-r--r--src/cmd/9term/SunOS.c8
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);