Fix a build failure on OpenBSD 4.x and MirBSD.

* 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
This commit is contained in:
Paul Eggert 2013-03-05 13:56:36 -08:00
parent 3b108d19a0
commit 9b1c327138
2 changed files with 9 additions and 18 deletions

View 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>

View 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