summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1993-05-31 01:27:19 +0000
committerRichard M. Stallman <rms@gnu.org>1993-05-31 01:27:19 +0000
commitd391fe0959a4ff60ffd4f5bf75c49491e6733633 (patch)
tree4e532272931914b3d5ac8aa3efdd14d6cf84f415
parent056956218aa68cd46d99f2255038ad41e8d89d31 (diff)
downloademacs-d391fe0959a4ff60ffd4f5bf75c49491e6733633.tar.gz
(HAVE_TCATTR): Deleted.
(BSD): Don't define. (read, write, open, close): Defined. (INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE, INTERRUPTIBLE_IO): Defined. (C_SWITCH_SYSTEM): Defined.
-rw-r--r--src/s/gnu-linux.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h
index dc1becd5e69..ddedcc3cb0b 100644
--- a/src/s/gnu-linux.h
+++ b/src/s/gnu-linux.h
@@ -28,7 +28,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* #define UNIPLUS */
/* #define USG5 */
#define USG
-#define BSD
+/* #define BSD */
#define LINUX
/* SYSTEM_TYPE should indicate the kind of system you are using.
@@ -131,6 +131,21 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
your system and must be used only through an encapsulation
(Which you should place, by convention, in sysdep.c). */
+/* On POSIX systems the system calls are interruptible by signals
+ that the user program has elected to catch. Thus the system call
+ must be retried in these cases. To handle this without massive
+ changes in the source code, we remap the standard system call names
+ to names for our own functions in sysdep.c that do the system call
+ with retries. */
+
+#define read sys_read
+#define write sys_write
+#define open sys_open
+#define close sys_close
+
+#define INTERRUPTIBLE_OPEN
+#define INTERRUPTIBLE_CLOSE
+#define INTERRUPTIBLE_IO
/* If you mount the proc file system somewhere other than /proc
you will have to uncomment the following and make the proper
@@ -152,6 +167,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifdef emacs
#include <signal.h>
#undef SIGIO
+#undef signal
+#define signal sys_signal
+#include <values.h>
#endif
#define HAVE_SETSID
@@ -167,7 +185,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define HAVE_VFORK
#define HAVE_SYS_SIGLIST
#define HAVE_GETWD /* cure conflict with getcwd? */
-#define HAVE_TCATTR /* faith@cs.unc.edu says this is needed. */
#define USE_UTIME /* don't have utimes */
#define SYSV_SYSTEM_DIR /* use dirent.h */
@@ -189,5 +206,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define LD_SWITCH_SYSTEM -L/usr/X386/lib
#endif
+/* Work around a bug in glibc with _longjmp. */
+#define C_SWITCH_SYSTEM -D_BSD_SOURCE
+
/* Let's try this out, just in case. */
#define SIGNALS_VIA_CHARACTERS