From: Richard M. Stallman Date: Thu, 29 Aug 2002 19:23:33 +0000 (+0000) Subject: [!VMS]: Include sys/file.h. X-Git-Tag: emacs-pretest-21.2.91~101 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=8a3c39237548f487b81f400dd90ed2221f1c99bf;p=emacs.git [!VMS]: Include sys/file.h. (sys_signal): Test BROKEN_SA_RESTART. --- diff --git a/src/sysdep.c b/src/sysdep.c index 10014c52d57..f8ddd5d6c0e 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -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 +#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;