diff src/sysdep.c @ 5494:861f2601a38b

Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff --- ChangeLog 2010-02-20 Ben Wing <ben@xemacs.org> * configure: * configure.ac (XE_EXPAND_VARIABLE): * configure.ac (TAB): irix6-0.h renamed to irix6-5.h; sco7.h deleted. bsd4-3.h renamed to bsd-common.h. Simplify setting machine= for intel386, mips. Put back linux.h. Incorporate some stuff about debug/optimization flags in irix6-5.h into configure.ac. Add a comment about LCC stuff with optimization flags that should be fixed up. --- src/ChangeLog 2010-02-20 Ben Wing <ben@xemacs.org> * sysdep.c: * sysdep.c (qxe_reliable_signal): * sysdep.c (retry_open_1): * sysdep.c (retry_close): * sysdep.c (retry_read_1): * sysdep.c (retry_write_1): * sysdep.c (retry_fopen): * sysdep.c (retry_fclose): * sysdep.c (retry_fread): * sysdep.c (retry_fwrite): Remove conditionalization on INTERRUPTIBLE_IO, INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE -- always check for EINTR as there's no harm in it. Remove old #if 0'ed out SA_RESTART code. Use manifest constant IRIX6_5 instead of IRIX. * Makefile.in.in: * dired.c: * dired.c (Ffile_attributes): Use manifest constant IRIX6_5 instead of IRIX. Eliminate constant BSD4_2, use BSD4_3 instead. * getloadavg.c: * getloadavg.c (getloadavg): * getloadavg.c (LDAV_PRIVILEGED): * getloadavg.c (LDAV_DONE): Sync with GNU 23.1.92. 2010-02-20 Ben Wing <ben@xemacs.org> * s/README: * s/aix4-2.h: * s/aix4-2.h (MAIL_USE_LOCKF): * s/bsd-common.h: * s/freebsd.h: * s/freebsd.h (Carey): * s/freebsd.h (or): * s/gnu.h: * s/gnu.h (DATA_START): * s/hpux11-shr.h: * s/hpux11.h: * s/hpux11.h (random): * s/irix6-5.h: * s/linux.h: * s/mach-bsd4-3.h: * s/netbsd.h: * s/netbsd.h (or): * s/netbsd.h (A_TEXT_OFFSET): * s/netbsd.h (NO_MATHERR): * s/openbsd.h: * s/sol2.h: * s/usg5-4-2.h: * s/usg5-4.h: * s/usg5-4.h (or): * s/usg5-4.h (ORDINARY_LINK): Sync with GNU 23.1.92. Put back linux.h. Rename: bsd4-3.h -> bsd-common.h; irix6-0.h -> irix6-5.h. Delete: template.h (useless). Delete a whole bunch of obsolete stuff in sol2.h, linux.h, freebsd.h -- assume anything over 10 years old is sufficiently obsolete to be deleted. Remove LIBS_DEBUG, C_DEBUG_SWITCH, C_OPTIMIZE_SWITCH, KERNEL_FILE, LDAV_SYMBOL, most remaining PTY stuff, remaining TERMINFO/TERMCAP stuff. Update README appropriately. Remove stuff in hpux11-shr.h duplicated in hpux11.h. Remove sco7.h, identical with usg5-4-2.h. Remove unused POSIX flag, BROKEN_TIOC*, NO_SIOCTL_H. 2010-02-20 Ben Wing <ben@xemacs.org> * m/arm.h: * m/hp800.h: * m/intel386.h: * m/mips.h: * m/powerpc.h: * m/sparc.h: * m/template.h: Temporarily ifdef out all defines involving load-average stuff -- using define ENABLE_SM_FILE_DECLS_OF_LOADAVG_STUFF, which is not defined. I'm pretty sure getloadavg.c will take care of defining stuff properly on all systems without the need to duplicate the info in m/*. --ben Delete LIBS_TERMCAP; configure auto-handles this. Delete extra stuff in hp800.h. Delete C_DEBUG_SWITCH, C_OPTIMIZE_SWITCH, LDAV_SYMBOL; incorporate some stuff into configure.ac.
author Ben Wing <ben@xemacs.org>
date Sat, 20 Feb 2010 06:03:00 -0600
parents 3c3c1d139863
children 1f0b15040456
line wrap: on
line diff
--- a/src/sysdep.c	Fri Feb 19 22:41:03 2010 -0600
+++ b/src/sysdep.c	Sat Feb 20 06:03:00 2010 -0600
@@ -2166,37 +2166,18 @@
 
 #ifdef HAVE_SIGPROCMASK
 
-/* #### Is there any reason this is static global rather than local? */
-static struct sigaction new_action, old_action;
-
 signal_handler_t
 qxe_reliable_signal (int signal_number, signal_handler_t action)
 {
-#if 0
-
-  /* XEmacs works better if system calls are *not* restarted.
+  static struct sigaction new_action, old_action;
+ 
+  /* XEmacs works better if system calls are not restarted.
      This allows C-g to interrupt reads and writes, on most systems.
 
      #### Another possibility is to just longjmp() out of the signal
      handler.  According to W.R. Stevens, this should be OK on all
      systems.  However, I don't want to deal with the potential
      evil ramifications of this at this point. */
-
-  sigemptyset (&new_action.sa_mask);
-  new_action.sa_handler = action;
-#if defined (SA_RESTART)
-  /* Emacs mostly works better with restartable system services. If this
-   * flag exists, we probably want to turn it on here.
-   */
-  new_action.sa_flags = SA_RESTART;
-#else
-  new_action.sa_flags = 0;
-#endif
-  sigaction (signal_number, &new_action, &old_action);
-  return (old_action.sa_handler);
-
-#else /* not 0 */
-
   sigemptyset (&new_action.sa_mask);
   new_action.sa_handler = action;
 #if defined (SA_INTERRUPT) /* don't restart system calls, under SunOS */
@@ -2206,8 +2187,6 @@
 #endif
   sigaction (signal_number, &new_action, &old_action);
   return (signal_handler_t) (old_action.sa_handler);
-
-#endif /* not 0 */
 }
 
 #elif defined (HAVE_SIGBLOCK)
@@ -2241,7 +2220,7 @@
 
 #ifndef HAVE_STRERROR
 
-#if !defined(__alpha) && !defined(MACH) && !defined(LINUX) && !defined(IRIX) && !defined(__NetBSD__)
+#if !defined(__alpha) && !defined(MACH) && !defined(LINUX) && !defined(IRIX6_5) && !defined(__NetBSD__)
 /* Linux added here by Raymond L. Toy <toy@alydar.crd.ge.com> for XEmacs. */
 /* Irix added here by gparker@sni-usa.com for XEmacs. */
 /* NetBSD added here by James R Grinter <jrg@doc.ic.ac.uk> for XEmacs */
@@ -2328,17 +2307,11 @@
 static int
 retry_open_1 (const Extbyte *path, int oflag, int mode)
 {
-#ifdef INTERRUPTIBLE_OPEN
-  {
-    int rtnval;
-    while ((rtnval = underlying_open (path, oflag, mode)) == -1
-	   && (errno == EINTR))
-      DO_NOTHING;
-    return rtnval;
-  }
-#else
-  return underlying_open (path, oflag, mode);
-#endif
+  int rtnval;
+  while ((rtnval = underlying_open (path, oflag, mode)) == -1
+	 && (errno == EINTR))
+    DO_NOTHING;
+  return rtnval;
 }
 
 /* A version of open() that retries when interrupted.  Operates on
@@ -2432,7 +2405,6 @@
 int
 retry_close (int filedes)
 {
-#ifdef INTERRUPTIBLE_CLOSE
   int did_retry = 0;
   REGISTER int rtnval;
 
@@ -2447,9 +2419,6 @@
     return 0;
 
   return rtnval;
-#else
-  return close (filedes);
-#endif
 }
 
 static ssize_t
@@ -2457,7 +2426,6 @@
 {
   ssize_t rtnval;
 
-  /* No harm in looping regardless of the INTERRUPTIBLE_IO setting. */
   while ((rtnval = read (fildes, buf, nbyte)) == -1
 	 && (errno == EINTR))
     {
@@ -2479,7 +2447,6 @@
   ssize_t bytes_written = 0;
   const char *b = (const char *) buf;
 
-  /* No harm in looping regardless of the INTERRUPTIBLE_IO setting. */
   while (nbyte > 0)
     {
       ssize_t rtnval = write (fildes, b, nbyte);
@@ -2581,16 +2548,12 @@
     return NULL;
 
   return _fdopen (fd, mode_save);
-#elif defined (INTERRUPTIBLE_OPEN)
-  {
-    FILE *rtnval;
-    while (!(rtnval = fopen (path, mode)) && (errno == EINTR))
-      DO_NOTHING;
-    return rtnval;
-  }
 #else
-  return fopen (path, mode);
-#endif /* defined (INTERRUPTIBLE_OPEN) */
+  FILE *rtnval;
+  while (!(rtnval = fopen (path, mode)) && (errno == EINTR))
+    DO_NOTHING;
+  return rtnval;
+#endif /* (not) WIN32_NATIVE */
 }
 
 FILE *
@@ -2604,22 +2567,17 @@
 int
 retry_fclose (FILE *stream)
 {
-#ifdef INTERRUPTIBLE_CLOSE
   int rtnval;
 
   while ((rtnval = fclose (stream)) == EOF
 	 && (errno == EINTR))
     ;
   return rtnval;
-#else
-  return fclose (stream);
-#endif
 }
 
 size_t
 retry_fread (void *ptr, size_t size, size_t nitem, FILE *stream)
 {
-#ifdef INTERRUPTIBLE_IO
   size_t rtnval;
   size_t items_read = 0;
   char *b = (char *) ptr;
@@ -2639,15 +2597,11 @@
       items_read += rtnval;
     }
   return (items_read);
-#else
-  return fread (ptr, size, nitem, stream);
-#endif
 }
 
 size_t
 retry_fwrite (const void *ptr, size_t size, size_t nitem, FILE *stream)
 {
-#ifdef INTERRUPTIBLE_IO
   size_t rtnval;
   size_t items_written = 0;
   const char *b = (const char *) ptr;
@@ -2667,9 +2621,6 @@
       items_written += rtnval;
     }
   return (items_written);
-#else
-  return fwrite (ptr, size, nitem, stream);
-#endif
 }
 
 /********************* directory calls *******************/