]> code.delx.au - gnu-emacs/blobdiff - src/getloadavg.c
(have_menus_p): Renamed from using_x_p.
[gnu-emacs] / src / getloadavg.c
index 8689a81eb5042bdf728e95ff20c869488809a230..7f939d2dbe4846510f6aff08b011c9a52c6f40b7 100644 (file)
@@ -811,7 +811,7 @@ getloadavg (loadavg, nelem)
 
 #ifndef SUNOS_5
       if (
-#ifndef _AIX
+#if !(defined (_AIX) && !defined (ps2))
          nlist (KERNEL_FILE, nl)
 #else  /* _AIX */
          knlist (nl, 1, sizeof (nl[0]))
@@ -840,7 +840,17 @@ getloadavg (loadavg, nelem)
 #ifndef SUNOS_5
       channel = open ("/dev/kmem", 0);
       if (channel >= 0)
-       getloadavg_initialized = 1;
+       {
+         /* Set the channel to close on exec, so it does not
+            litter any child's descriptor table.  */
+#ifdef FD_SETFD
+#ifndef FD_CLOEXEC
+#define FD_CLOEXEC 1
+#endif
+         (void) fcntl (channel, F_SETFD, FD_CLOEXEC);
+#endif
+         getloadavg_initialized = 1;
+       }
 #else /* SUNOS_5 */
       /* We pass 0 for the kernel, corefile, and swapfile names
         to use the currently running kernel.  */