]> git.eshelyaron.com Git - emacs.git/commitdiff
[!VMS]: Include sys/file.h.
authorRichard M. Stallman <rms@gnu.org>
Thu, 29 Aug 2002 19:23:33 +0000 (19:23 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 29 Aug 2002 19:23:33 +0000 (19:23 +0000)
(sys_signal): Test BROKEN_SA_RESTART.

src/sysdep.c

index 10014c52d57978503c06c90daf130f382d65047d..f8ddd5d6c0e0dab8f98fdc7756e5341e88307c80 100644 (file)
@@ -143,6 +143,10 @@ extern int errno;
 #define MAXIOSIZE (32 * PAGESIZE) /* Don't I/O more than 32 blocks at a time */
 #endif /* VMS */
 
+#ifndef VMS
+#include <sys/file.h>
+#endif /* not VMS */
+
 #ifndef BSD4_1
 #ifdef BSD_SYSTEM /* avoid writing defined (BSD_SYSTEM) || defined (USG)
              because the vms compiler doesn't grok `defined' */
@@ -2803,10 +2807,12 @@ sys_signal (int signal_number, signal_handler_t action)
   struct sigaction new_action, old_action;
   sigemptyset (&new_action.sa_mask);
   new_action.sa_handler = action;
-#ifdef SA_RESTART
+#if defined (SA_RESTART) && ! defined (BROKEN_SA_RESTART)
   /* Emacs mostly works better with restartable system services. If this
-   * flag exists, we probably want to turn it on here.
-   */
+     flag exists, we probably want to turn it on here.
+     However, on some systems this resets the timeout of `select'
+     which means that `select' never finishes if it keeps getting signals.
+     BROKEN_SA_RESTART is defined on those systems.  */
   new_action.sa_flags = SA_RESTART;
 #else
   new_action.sa_flags = 0;