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>
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};
{
#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