OpenUNIX 8 support
Rafael Garcia-Suarez [Fri, 2 May 2003 12:12:08 +0000 (14:12 +0200)]
Message-Id: <20030502121208.3d235027.rgarciasuarez@free.fr>

p4raw-id: //depot/perl@19385

Configure
ext/Socket/socketpair.t
hints/svr5.sh
pp_sys.c

index 32a0d19..ceb2d2c 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -3195,7 +3195,7 @@ EOM
                        mips)   osname=mips_osf1 ;;
                        esac
                        ;;
-               unixware) osname=svr5
+               openunix|unixware) osname=svr5
                        osvers="$4"
                        ;;
                uts)    osname=uts
index 3349f0f..9d86be6 100644 (file)
@@ -114,7 +114,8 @@ is ($buffer, $expect, "content what we expected?");
 ok (shutdown(LEFT, SHUT_WR), "shutdown left for writing");
 # This will hang forever if eof is buggy, and alarm doesn't interrupt system
 # Calls. Hence the child process minder.
-{
+SKIP: {
+  skip "SCO OpenUNIX has a bug with shutdown", 2 if $^O =~ /^svr/;
   local $SIG{ALRM} = sub { warn "EOF on right took over 3 seconds" };
   local $TODO = "Known problems with unix sockets on $^O"
       if $^O eq 'hpux'   || $^O eq 'super-ux';
index 47f7aff..63442d2 100644 (file)
@@ -1,4 +1,4 @@
-# svr5 hints, System V Release 5.x (UnixWare 7)
+# svr5 hints, System V Release 5.x (UnixWare 7, OpenUNIX 8)
 # mods after mail fm Andy Dougherty
 # Reworked by hops@sco.com Sept/Oct 1999 for UW7.1 platform support 
 #   Boyd Gerber, gerberb@zenez.com 1999/09/21 for threads support.
@@ -96,14 +96,13 @@ d_index='undef' d_killpg='undef' d_getprior='undef' d_setprior='undef'
 d_setlinebuf='undef' 
 d_setregid='undef' d_setreuid='undef'  # -- in /usr/lib/libc.so.1
 
-
 # Broken C-Shell tests (Thanks to Tye McQueen):
 # The OS-specific checks may be obsoleted by the this generic test.
        sh_cnt=`sh -c 'echo /*' | wc -c`
        csh_cnt=`csh -f -c 'glob /*' 2>/dev/null | wc -c`
        csh_cnt=`expr 1 + $csh_cnt`
 if [ "$sh_cnt" -ne "$csh_cnt" ]; then
-    echo "You're csh has a broken 'glob', disabling..." >&2
+    echo "Your csh has a broken 'glob', disabling..." >&2
     d_csh='undef'
 fi
 
@@ -116,9 +115,9 @@ fi
        uw_ver=`uname -v`
        uw_isuw=`uname -s 2>&1`
 
-if [ "$uw_isuw" = "UnixWare" ]; then
+if [ "$uw_isuw" = "UnixWare" -o "$uw_isuw" = "OpenUNIX" ]; then
    case $uw_ver in
-   7.1*)
+   8.*|7.1*)
        d_csh='undef'
        d_memcpy='define'
        d_memset='define'
@@ -160,8 +159,10 @@ fi
 # lddlflags : must tell the linker to output a shared library
 
 # use shared perl lib if the user doesn't choose otherwise
-if test "x$useshrplib" = "x"; then
-    useshrplib='true'
+if test "$uw_isuw" != "OpenUNIX"; then
+    if test "x$useshrplib" = "x"; then
+       useshrplib='true'
+    fi
 fi
 
 case "$cc" in
index be1675c..11b8edf 100644 (file)
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -2516,6 +2516,9 @@ PP(pp_accept)
     len = sizeof saddr;          /* EPOC somehow truncates info */
     setbuf( IoIFP(nstio), NULL); /* EPOC gets confused about sockets */
 #endif
+#ifdef __SCO_VERSION__
+    len = sizeof saddr;          /* OpenUNIX 8 somehow truncates info */
+#endif
 
     PUSHp((char *)&saddr, len);
     RETURN;