diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-07-06 13:22:23 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-07-06 13:22:23 +0000 |
commit | aa2a96eb5bb64cecc1d540050009de5802ffbea4 (patch) | |
tree | c31cec4972377b6edd5927847f8340b36d871a2b | |
parent | 3ae44492277efe4d919874eb5aabc04d48ebf24a (diff) |
* process.c (rb_proc_times): use sysconf(_SC_CLK_TCK) value prior to
HZ and CLK_TCK. fixed: [ruby-talk:200293]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | configure.in | 18 | ||||
-rw-r--r-- | process.c | 14 |
3 files changed, 34 insertions, 7 deletions
@@ -1,3 +1,8 @@ +Thu Jul 6 22:21:57 2006 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * process.c (rb_proc_times): use sysconf(_SC_CLK_TCK) value prior to + HZ and CLK_TCK. fixed: [ruby-talk:200293] + Thu Jul 6 22:17:21 2006 Minero Aoki <aamine@loveruby.net> * ext/racc/cparse/cparse.c: sync with original code, rev 1.8. @@ -11,9 +16,9 @@ Thu Jul 6 22:17:21 2006 Minero Aoki <aamine@loveruby.net> Mon Jul 3 19:04:38 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> * ext/tk/tcltklib.c (ip_make_menu_embeddable): help to make a menu - widget embeddable (pack, grid, and so on) like as a general widget. + widget embeddable (pack, grid, and so on) like as a general widget. However, an embeddable menu may require to be definied some event - bindings for general use. + bindings for general use. * ext/tk/lib/tk/event.rb: [bug fix] Tk.callback_break and Tk.callback_continue don't work on MultiTkIp. diff --git a/configure.in b/configure.in index dbc9eb148d..ed0def7f8b 100644 --- a/configure.in +++ b/configure.in @@ -483,7 +483,7 @@ AC_CHECK_FUNCS(fmod killpg wait4 waitpid syscall chroot fsync getcwd eaccess\ readlink setitimer setruid seteuid setreuid setresuid\ setproctitle setrgid setegid setregid setresgid issetugid pause\ lchown lchmod getpgrp setpgrp getpgid setpgid initgroups\ - getgroups setgroups getpriority getrlimit setrlimit\ + getgroups setgroups getpriority getrlimit setrlimit sysconf\ dlopen sigprocmask\ sigaction _setjmp setsid telldir seekdir fchmod mktime timegm\ cosh sinh tanh setuid setgid setenv unsetenv) @@ -749,6 +749,22 @@ if test $rb_cv_huge_st_ino = yes; then AC_DEFINE(HUGE_ST_INO) fi +if test "$ac_cv_func_sysconf" = yes; then + AC_DEFUN(RUBY_CHECK_SYSCONF, [dnl + AC_CACHE_CHECK([whether _SC_$1 is supported], rb_cv_have_sc_[]m4_tolower($1), + [AC_TRY_COMPILE([#include <unistd.h> + ], + [_SC_$1 >= 0], + rb_cv_have_sc_[]m4_tolower($1)=yes, + rb_cv_have_sc_[]m4_tolower($1)=no) + ]) + if test "$rb_cv_have_sc_[]m4_tolower($1)" = yes; then + AC_DEFINE(HAVE__SC_$1) + fi + ]) + RUBY_CHECK_SYSCONF(CLK_TCK) +fi + case "$target_cpu" in m68*|i?86|ia64|sparc*|alpha*) rb_cv_stack_grow_dir=-1;; hppa*) rb_cv_stack_grow_dir=+1;; @@ -3432,6 +3432,10 @@ rb_proc_times(obj) VALUE obj; { #if defined(HAVE_TIMES) && !defined(__CHECKER__) + const double hz = +#ifdef HAVE__SC_CLK_TCK + (double)sysconf(_SC_CLK_TCK); +#else #ifndef HZ # ifdef CLK_TCK # define HZ CLK_TCK @@ -3439,15 +3443,17 @@ rb_proc_times(obj) # define HZ 60 # endif #endif /* HZ */ + HZ; +#endif struct tms buf; volatile VALUE utime, stime, cutime, sctime; times(&buf); return rb_struct_new(S_Tms, - utime = rb_float_new((double)buf.tms_utime / HZ), - stime = rb_float_new((double)buf.tms_stime / HZ), - cutime = rb_float_new((double)buf.tms_cutime / HZ), - sctime = rb_float_new((double)buf.tms_cstime / HZ)); + utime = rb_float_new(buf.tms_utime / hz), + stime = rb_float_new(buf.tms_stime / hz), + cutime = rb_float_new(buf.tms_cutime / hz), + sctime = rb_float_new(buf.tms_cstime / hz)); #else rb_notimplement(); #endif |