[前][次][番号順一覧][スレッド一覧]

ruby-changes:37849

From: nobu <ko1@a...>
Date: Wed, 11 Mar 2015 13:28:58 +0900 (JST)
Subject: [ruby-changes:37849] nobu:r49930 (trunk): vm_dump.c: check procstat_getvmmap

nobu	2015-03-11 13:28:51 +0900 (Wed, 11 Mar 2015)

  New Revision: 49930

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=49930

  Log:
    vm_dump.c: check procstat_getvmmap
    
    * configure.in: check also procstat_getvmmap, which is not
      available on FreeBSD 9.  [ruby-core:68468] [Bug #10954]
    * vm_dump.c (procstat_vm): use kinfo_getvmmap instead if
      procstat_getvmmap is not available.

  Modified files:
    trunk/ChangeLog
    trunk/configure.in
    trunk/vm_dump.c
Index: configure.in
===================================================================
--- configure.in	(revision 49929)
+++ configure.in	(revision 49930)
@@ -3143,6 +3143,9 @@ fi https://github.com/ruby/ruby/blob/trunk/configure.in#L3143
 AS_CASE(["$target_os"],
 [freebsd*], [
     AC_CHECK_LIB([procstat], [procstat_open_sysctl])
+    if test "x$ac_cv_lib_procstat_procstat_open_sysctl" = xyes; then
+	AC_CHECK_FUNCS(procstat_getvmmap)
+    fi
     ])
 AS_CASE(["$target_cpu-$target_os"],
 [*-darwin*], [
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 49929)
+++ ChangeLog	(revision 49930)
@@ -1,3 +1,11 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Wed Mar 11 13:28:49 2015  Nobuyoshi Nakada  <nobu@r...>
+
+	* configure.in: check also procstat_getvmmap, which is not
+	  available on FreeBSD 9.  [ruby-core:68468] [Bug #10954]
+
+	* vm_dump.c (procstat_vm): use kinfo_getvmmap instead if
+	  procstat_getvmmap is not available.
+
 Wed Mar 11 09:15:21 2015  Koichi Sasada  <ko1@a...>
 
 	* internal.h: define struct MEMO.
Index: vm_dump.c
===================================================================
--- vm_dump.c	(revision 49929)
+++ vm_dump.c	(revision 49930)
@@ -735,7 +735,11 @@ procstat_vm(struct procstat *procstat, s https://github.com/ruby/ruby/blob/trunk/vm_dump.c#L735
 		ptrwidth, "START", ptrwidth, "END", "PRT", "RES",
 		"PRES", "REF", "SHD", "FL", "TP", "PATH");
 
+#ifdef HAVE_PROCSTAT_GETVMMAP
 	freep = procstat_getvmmap(procstat, kipp, &cnt);
+#else
+	freep = kinfo_getvmmap(kipp->ki_pid, &cnt);
+#endif
 	if (freep == NULL)
 		return;
 	for (i = 0; i < cnt; i++) {

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]