Fix a build failure on OpenBSD 4.x and MirBSD.
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 5 Mar 2013 21:56:36 +0000 (13:56 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 5 Mar 2013 21:56:36 +0000 (13:56 -0800)
* sysdep.c (list_system_processes) [__OpenBSD__ || __MirBSD__]:
Make it a stub in this case; otherwise the build might fail,
and even if the build worked the function would just return nil anyway.
Problem reported by Nelson H. F. Beebe in
<http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00021.html>
and analyzed by Jérémie Courrèges-Anglas in
<http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00062.html>.

Fixes: debbugs:13881

src/ChangeLog
src/sysdep.c

index 91dc8b6..18b22b5 100644 (file)
@@ -1,12 +1,13 @@
 2013-03-05  Paul Eggert  <eggert@cs.ucla.edu>
 
-       Fix a build failure on OpenBSD 4.x and MirBSD.
-       * sysdep.c (KERN_PROC, kinfo_proc)
-       [BSD_SYSTEM && (!KERN_PROC || __MirBSD__)]:
-       Define to KERN_PROC2 and kinfo_proc2, for OpenBSD 4.9 and MirBSD.
-       list-system-processes still returns nil, but at least it doesn't crash.
+       Fix a build failure on OpenBSD 4.x and MirBSD (Bug#13881).
+       * sysdep.c (list_system_processes) [__OpenBSD__ || __MirBSD__]:
+       Make it a stub in this case; otherwise the build might fail,
+       and even if the build worked the function would just return nil anyway.
        Problem reported by Nelson H. F. Beebe in
-       <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00021.html>.
+       <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00021.html>
+       and analyzed by Jérémie Courrèges-Anglas in
+       <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00062.html>.
 
 2013-03-02  Andreas Schwab  <schwab@linux-m68k.org>
 
index 9eba9e8..80c7e0b 100644 (file)
@@ -2647,20 +2647,12 @@ list_system_processes (void)
   return proclist;
 }
 
-#elif defined BSD_SYSTEM
-
-/* OpenBSD 4.9 and earlier do not have KERN_PROC.  Approximate it with
-   KERN_PROC2.  MirBSD's KERN_PROC seems to be busted.  */
-# if !defined KERN_PROC || defined __MirBSD__
-#  undef KERN_PROC
-#  define KERN_PROC KERN_PROC2
-#  define kinfo_proc kinfo_proc2
-# endif
+#elif defined BSD_SYSTEM && !defined __OpenBSD__ && !defined __MirBSD__
 
 Lisp_Object
 list_system_processes (void)
 {
-#if defined DARWIN_OS || defined __NetBSD__ || defined __OpenBSD__
+#if defined DARWIN_OS || defined __NetBSD__
   int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_ALL};
 #else
   int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PROC};
@@ -2688,8 +2680,6 @@ list_system_processes (void)
     {
 #if defined DARWIN_OS || defined __NetBSD__
       proclist = Fcons (make_fixnum_or_float (procs[i].kp_proc.p_pid), proclist);
-#elif defined __OpenBSD__
-      proclist = Fcons (make_fixnum_or_float (procs[i].p_pid), proclist);
 #else
       proclist = Fcons (make_fixnum_or_float (procs[i].ki_pid), proclist);
 #endif