diff src/sysdep.c @ 2:ac2d302a0011 r19-15b2

Import from CVS: tag r19-15b2
author cvs
date Mon, 13 Aug 2007 08:46:35 +0200
parents 376386a54a3c
children bcdc7deadc19
line wrap: on
line diff
--- a/src/sysdep.c	Mon Aug 13 08:45:53 2007 +0200
+++ b/src/sysdep.c	Mon Aug 13 08:46:35 2007 +0200
@@ -51,6 +51,9 @@
 #include "window.h"
 
 #include <setjmp.h>
+#ifdef HAVE_LIBGEN_H            /* Must come before sysfile.h */
+#include <libgen.h>
+#endif
 #include "sysfile.h"
 #include "syswait.h"
 #include "sysdir.h"
@@ -908,7 +911,7 @@
 {
   int filedesc = DEVICE_INFD (d);
 
-#if defined (I_SETSIG)
+#if defined (I_SETSIG) && !defined(HPUX10)
   ioctl (filedesc, I_GETSIG, &DEVICE_OLD_SIGIO_FLAG (d));
   DEVICE_OLD_SIGIO_FLAG (d) &= ~S_INPUT;
 #elif defined (FASYNC)
@@ -929,8 +932,6 @@
 #ifdef HAVE_WINDOW_SYSTEM
     else if (!DEVICE_STREAM_P (d))
       {
-	/* Process group for socket should be -pid for delivery to self. */
-	owner = -owner;
 	ioctl_status = ioctl (filedesc, SIOCGPGRP,
 			      &DEVICE_OLD_FCNTL_OWNER (d));
 	ioctl_status = ioctl (filedesc, SIOCSPGRP, &owner);
@@ -965,8 +966,6 @@
 #ifdef HAVE_WINDOW_SYSTEM
     else if (!DEVICE_STREAM_P (d))
       {
-	/* Process group for socket should be -pid for delivery to self. */
-	owner = -owner;
 	ioctl_status = ioctl (filedesc, SIOCSPGRP,
 			      &DEVICE_OLD_FCNTL_OWNER (d));
       }
@@ -987,7 +986,7 @@
   if (d->sigio_enabled)
     return;
 
-#if defined (I_SETSIG)
+#if defined (I_SETSIG) && !defined(HPUX10)
   ioctl (filedesc, I_SETSIG, DEVICE_OLD_SIGIO_FLAG (d) | S_INPUT);
 #elif defined (FASYNC)
   fcntl (filedesc, F_SETFL, DEVICE_OLD_SIGIO_FLAG (d) | FASYNC);
@@ -999,7 +998,6 @@
 	 use the following crud to do the appropriate thing. */
     int on = 1;
     int ioctl_status;		/* ####DG: check if IOCTL succeeds here. */
-    int socket_pgroup = -getpid ();
 
     if (DEVICE_TTY_P (d))
       {
@@ -1009,7 +1007,6 @@
     else if (!DEVICE_STREAM_P (d))
       {
 	ioctl_status = ioctl (filedesc, FIOASYNC, &on);
-	ioctl_status = ioctl (filedesc, SIOCSPGRP, &socket_pgroup);
       }
 #endif
   }
@@ -1037,7 +1034,7 @@
   if (!d->sigio_enabled)
     return;
 
-#if defined (I_SETSIG)
+#if defined (I_SETSIG) && !defined(HPUX10)
   ioctl (filedesc, I_SETSIG, DEVICE_OLD_SIGIO_FLAG (d));
 #elif defined (FASYNC)
   fcntl (filedesc, F_SETFL, DEVICE_OLD_SIGIO_FLAG (d));
@@ -1049,7 +1046,6 @@
 	 use the following crud to do the appropriate thing. */
 
     int off = 0;
-    int socket_pgroup = 0;
     int ioctl_status;
 
     /* See comment for request_sigio_on_device */
@@ -1061,7 +1057,6 @@
     else 
       {
 	ioctl_status = ioctl (filedesc, FIOASYNC, &off);
-	ioctl_status = ioctl (filedesc, SIOCSPGRP, &socket_pgroup);
       }
   }
 #elif defined (FIOASYNC)
@@ -3058,7 +3053,6 @@
 { 
   DIRENTRY *rtnval;
 
-  /* #### currently we don't do conversions on the incoming data */
   /* Apparently setting errno is necessary on some systems?
      Maybe readdir() doesn't always set errno ?! */
   while (!(errno = 0, rtnval = readdir (dirp))
@@ -3113,6 +3107,20 @@
 
 #endif /* ENCAPSULATE_ACCESS */
 
+#ifdef HAVE_EACCESS
+#ifdef ENCAPSULATE_EACCESS
+
+int
+sys_eaccess (CONST char *path, int mode)
+{
+  PATHNAME_CONVERT_OUT (path);
+  return eaccess (path, mode);
+}
+
+#endif /* ENCAPSULATE_EACCESS */
+#endif /* HAVE_EACCESS */
+
+
 #ifdef ENCAPSULATE_LSTAT
 
 int