emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r108891: Port to OpenBSD 5.1 amd64.


From: Paul Eggert
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r108891: Port to OpenBSD 5.1 amd64.
Date: Fri, 06 Jul 2012 03:08:57 +0000
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 108891
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Fri 2012-07-06 03:08:57 +0000
message:
  Port to OpenBSD 5.1 amd64.
modified:
  ChangeLog
  m4/sys_time_h.m4
  src/ChangeLog
  src/sysdep.c
=== modified file 'ChangeLog'
--- a/ChangeLog 2012-07-04 08:35:34 +0000
+++ b/ChangeLog 2012-07-06 03:08:57 +0000
@@ -1,3 +1,9 @@
+2012-07-06  Paul Eggert  <address@hidden>
+
+       Merge from gnulib.  This is for OpenBSD 5.1 amd64.
+       * m4/sys_time_h.m4: New version from gnulib, incorporating:
+       2012-07-05 sys_time: allow too-wide tv_sec
+
 2012-07-04  Paul Eggert  <address@hidden>
 
        Merge from gnulib.

=== modified file 'm4/sys_time_h.m4'
--- a/m4/sys_time_h.m4  2012-06-22 21:26:37 +0000
+++ b/m4/sys_time_h.m4  2012-07-06 03:08:57 +0000
@@ -52,7 +52,9 @@
     dnl (in <sys/time.h> and <winsock2.h> for mingw64, in <winsock2.h> only
     dnl for MSVC) with a tv_sec field of type 'long' (32-bit!), which is
     dnl smaller than the 'time_t' type mandated by POSIX.
-    AC_CACHE_CHECK([for correct struct timeval.tv_sec member],
+    dnl On OpenBSD 5.1 amd64, tv_sec is 64 bits and time_t 32 bits, but
+    dnl that is good enough.
+    AC_CACHE_CHECK([for wide-enough struct timeval.tv_sec member],
       [gl_cv_sys_struct_timeval_tv_sec],
       [AC_COMPILE_IFELSE(
          [AC_LANG_PROGRAM(
@@ -65,7 +67,9 @@
               #endif
             ]],
             [[static struct timeval x;
-              typedef int verify_tv_sec_type[sizeof (x.tv_sec) == sizeof 
(time_t) ? 1 : -1];
+              typedef int verify_tv_sec_type[
+                sizeof (time_t) <= sizeof x.tv_sec ? 1 : -1
+              ];
             ]])],
          [gl_cv_sys_struct_timeval_tv_sec=yes],
          [gl_cv_sys_struct_timeval_tv_sec=no])

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-07-06 01:29:54 +0000
+++ b/src/ChangeLog     2012-07-06 03:08:57 +0000
@@ -1,3 +1,13 @@
+2012-07-06  Paul Eggert  <address@hidden>
+
+       Port to OpenBSD 5.1 amd64.
+       * sysdep.c [BSD_SYSTEM]: Include <sys/param.h> before <sys/sysctl.h>.
+       This is needed for OpenBSD, and should be harmless on all BSD systems.
+       Also, include <sys/sysctl.h>, as it should be available on all
+       BSD_SYSTEM hosts given that we're already calling sysctl in that case.
+       (list_system_processes) [__OpenBSD__]: Use DARWIN_OS style mib, but
+       use p_pid member, not kp_proc.pid.
+
 2012-07-06  Glenn Morris  <address@hidden>
 
        * Makefile.in (emacs$(EXEEXT)): Don't check for load-path shadows.

=== modified file 'src/sysdep.c'
--- a/src/sysdep.c      2012-07-05 18:35:48 +0000
+++ b/src/sysdep.c      2012-07-06 03:08:57 +0000
@@ -38,17 +38,17 @@
 #include "sysselect.h"
 #include "blockinput.h"
 
+#ifdef BSD_SYSTEM
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#endif
+
 #ifdef __FreeBSD__
-#include <sys/sysctl.h>
 #include <sys/user.h>
 #include <sys/resource.h>
 #include <math.h>
 #endif
 
-#ifdef DARWIN_OS
-#include <sys/sysctl.h>
-#endif
-
 #ifdef WINDOWSNT
 #define read sys_read
 #define write sys_write
@@ -2520,7 +2520,7 @@
 Lisp_Object
 list_system_processes (void)
 {
-#ifdef DARWIN_OS
+#if defined DARWIN_OS || defined __OpenBSD__
   int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_ALL};
 #else
   int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PROC};
@@ -2548,6 +2548,8 @@
     {
 #ifdef DARWIN_OS
       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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]