Mercurial > hg > xemacs-beta
diff src/sysdep.c @ 259:11cf20601dec r20-5b28
Import from CVS: tag r20-5b28
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:23:02 +0200 |
parents | 084402c475ba |
children | 727739f917cb |
line wrap: on
line diff
--- a/src/sysdep.c Mon Aug 13 10:22:10 2007 +0200 +++ b/src/sysdep.c Mon Aug 13 10:23:02 2007 +0200 @@ -894,14 +894,6 @@ { int filedesc = DEVICE_INFD (d); -#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) - DEVICE_OLD_SIGIO_FLAG (d) = - fcntl (filedesc, F_GETFL, 0) & ~FASYNC; -#endif - #if defined (FIOSSAIOOWN) { /* HPUX stuff */ int owner = getpid (); @@ -964,15 +956,14 @@ { int filedesc = DEVICE_INFD (d); - /* prevent redundant ioctl()s, which may cause syslog messages - (e.g. on Solaris) */ - if (d->sigio_enabled) - return; - #if defined (I_SETSIG) && !defined(HPUX10) - ioctl (filedesc, I_SETSIG, DEVICE_OLD_SIGIO_FLAG (d) | S_INPUT); + { + int events=0; + ioctl (filedesc, I_GETSIG, &events); + ioctl (filedesc, I_SETSIG, events | S_INPUT); + } #elif defined (FASYNC) - fcntl (filedesc, F_SETFL, DEVICE_OLD_SIGIO_FLAG (d) | FASYNC); + fcntl (filedesc, F_SETFL, fcntl (filedesc, F_GETFL, 0) | FASYNC); #elif defined (FIOSSAIOSTAT) { /* DG: Changed for HP-UX. HP-UX uses different IOCTLs for @@ -1003,8 +994,6 @@ #if defined (_CX_UX) /* #### Is this crap necessary? */ EMACS_UNBLOCK_SIGNAL (SIGIO); #endif - - d->sigio_enabled = 1; } static void @@ -1012,15 +1001,14 @@ { int filedesc = DEVICE_INFD (d); - /* prevent redundant ioctl()s, which may cause syslog messages - (e.g. on Solaris) */ - if (!d->sigio_enabled) - return; - #if defined (I_SETSIG) && !defined(HPUX10) - ioctl (filedesc, I_SETSIG, DEVICE_OLD_SIGIO_FLAG (d)); + { + int events=0; + ioctl (filedesc, I_GETSIG, &events); + ioctl (filedesc, I_SETSIG, events & ~S_INPUT); + } #elif defined (FASYNC) - fcntl (filedesc, F_SETFL, DEVICE_OLD_SIGIO_FLAG (d)); + fcntl (filedesc, F_SETFL, fcntl (filedesc, F_GETFL, 0) & ~FASYNC); #elif defined (FIOSSAIOSTAT) { /* DG: Changed for HP-UX. HP-UX uses different IOCTLs for @@ -1048,8 +1036,6 @@ ioctl (filedesc, FIOASYNC, &off); } #endif - - d->sigio_enabled = 0; } void