changeset 3335:580d53a2e450

(HAVE_TCATTR): Deleted. (BSD): Don't define. (read, write, open, close): Defined. (INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE, INTERRUPTIBLE_IO): Defined. (C_SWITCH_SYSTEM): Defined.
author Richard M. Stallman <rms@gnu.org>
date Mon, 31 May 1993 01:27:19 +0000
parents 7900edb84c4f
children 44df7395bed8
files src/s/gnu-linux.h
diffstat 1 files changed, 22 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/s/gnu-linux.h	Mon May 31 01:12:05 1993 +0000
+++ b/src/s/gnu-linux.h	Mon May 31 01:27:19 1993 +0000
@@ -28,7 +28,7 @@
 /* #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 @@
    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 @@
 #ifdef emacs
 #include <signal.h>
 #undef SIGIO
+#undef signal
+#define signal sys_signal
+#include <values.h>
 #endif
 
 #define HAVE_SETSID
@@ -167,7 +185,6 @@
 #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 @@
 #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