diff src/sysdep.c @ 251:677f6a0ee643 r20-5b24

Import from CVS: tag r20-5b24
author cvs
date Mon, 13 Aug 2007 10:19:59 +0200
parents 41f2f0e326e9
children 084402c475ba
line wrap: on
line diff
--- a/src/sysdep.c	Mon Aug 13 10:19:12 2007 +0200
+++ b/src/sysdep.c	Mon Aug 13 10:19:59 2007 +0200
@@ -885,7 +885,7 @@
 /*                       SIGIO control                    */
 /* ------------------------------------------------------ */
 
-#ifdef SIGIO
+#if defined(SIGIO) && !defined(BROKEN_SIGIO)
 
 static void
 init_sigio_on_device (struct device *d)
@@ -1659,7 +1659,7 @@
   if (DEVICE_TTY_P (d))
     tty_init_sys_modes_on_device (d);
 #endif
-#ifdef SIGIO
+#if defined(SIGIO) && !defined(BROKEN_SIGIO)
   if (!DEVICE_STREAM_P (d))
     {
       init_sigio_on_device (d);
@@ -1870,7 +1870,7 @@
 #endif
   if (DEVICE_STREAM_P (d))
     fflush (CONSOLE_STREAM_DATA (XCONSOLE (DEVICE_CONSOLE (d)))->outfd);
-#ifdef SIGIO
+#if defined(SIGIO) && !defined(BROKEN_SIGIO)
   if (!DEVICE_STREAM_P (d))
     {
       unrequest_sigio_on_device (d);
@@ -2119,7 +2119,11 @@
    * we don't sweat the handful of bytes that might lose.
    */
   extern char **environ;
-
+#ifdef HEAP_IN_DATA
+  extern char* static_heap_base;
+  if (!initialized)
+    return static_heap_base;
+#endif
   return((char *) &environ);
 #else
   extern int data_start;
@@ -2208,7 +2212,7 @@
       hostname_size <<= 1;
       hostname = (char *) alloca (hostname_size);
     }
-# if defined( HAVE_SOCKETS) && !defined(__CYGWIN32__)
+# if defined( HAVE_SOCKETS) && !defined(BROKEN_CYGWIN)
   /* Turn the hostname into the official, fully-qualified hostname.
      Don't do this if we're going to dump; this can confuse system
      libraries on some machines and make the dumped emacs core dump. */