diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-04-14 14:35:55 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-04-14 14:35:55 +0000 |
commit | 08eae7c14bdaafaa0da597c6697bc199642ab5a2 (patch) | |
tree | a4646e6429b6bcd858bc11922fe60db5d7781653 | |
parent | 03687d1c63e3e92a4e5bfb6faea664d43fae44de (diff) |
merge revision(s) 49930: [Backport #10954]
* 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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@50315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | configure.in | 3 | ||||
-rw-r--r-- | version.h | 2 | ||||
-rw-r--r-- | vm_dump.c | 4 |
4 files changed, 16 insertions, 1 deletions
@@ -1,3 +1,11 @@ +Tue Apr 14 23:33:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * 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. + Mon Apr 13 22:11:21 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> * ext/openssl/lib/openssl/ssl.rb: stricter hostname verification diff --git a/configure.in b/configure.in index 8297c5a8a9..0178573ea5 100644 --- a/configure.in +++ b/configure.in @@ -3085,6 +3085,9 @@ fi 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*], [ @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.2.3" #define RUBY_RELEASE_DATE "2015-04-14" -#define RUBY_PATCHLEVEL 96 +#define RUBY_PATCHLEVEL 97 #define RUBY_RELEASE_YEAR 2015 #define RUBY_RELEASE_MONTH 4 @@ -735,7 +735,11 @@ procstat_vm(struct procstat *procstat, struct kinfo_proc *kipp) 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++) { |