tMaybe it will run on SunOS 5.8 now. - plan9port - [fork] Plan 9 from user space
(HTM) git clone git://src.adamsgaard.dk/plan9port
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit dc305d03681e150b97acf4631a514868acd4b276
(DIR) parent dd4afdf4eb411c2899f792cb11380877af065b1d
(HTM) Author: rsc <devnull@localhost>
Date: Tue, 8 Feb 2005 18:01:04 +0000
Maybe it will run on SunOS 5.8 now.
Diffstat:
M bin/9l | 13 +++++++++++++
M src/cmd/9term/SunOS.c | 8 +++++++-
2 files changed, 20 insertions(+), 1 deletion(-)
---
(DIR) diff --git a/bin/9l b/bin/9l
t@@ -205,6 +205,19 @@ case "$tag" in
;;
esac
done
+ case "${SYSVERSION:-`uname -r`}" in
+ 5.[67])
+ echo do not know how to link right thread library on "$tag" 1>&2
+ ;;
+ 5.8)
+ # Some trickery is needed to force use of
+ # alternate thread lib from /usr/lib/lwp
+ # Likely, this only works with sun cc,
+ # for other compiler/loader we would need other flags.
+ ld="$ld -i"
+ extralibs="$extralibs /usr/lib/lwp/libthread.so -R/usr/lib/lwp:/usr/lib"
+ ;;
+ esac
;;
*)
echo do not know how to link on "$tag" 1>&2
(DIR) diff --git a/src/cmd/9term/SunOS.c b/src/cmd/9term/SunOS.c
t@@ -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);