diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-07-06 14:30:20 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-07-06 14:30:20 +0000 |
commit | 59602ed211224b97817e24415a99f2fe64ce0fd3 (patch) | |
tree | 08e2bcaa30e9e158283e773d45c6fbbefa7f2906 /process.c | |
parent | 8f66c24108490279890de556a747b3d4625183f5 (diff) | |
download | ruby-59602ed211224b97817e24415a99f2fe64ce0fd3.tar.gz ruby-59602ed211224b97817e24415a99f2fe64ce0fd3.tar.xz ruby-59602ed211224b97817e24415a99f2fe64ce0fd3.zip |
* process.c (rb_proc_times): use sysconf(_SC_CLK_TCK) value prior to
HZ and CLK_TCK. fixed: [ruby-talk:200293]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@10476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'process.c')
-rw-r--r-- | process.c | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -3516,6 +3516,10 @@ VALUE rb_proc_times(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 @@ -3523,15 +3527,17 @@ rb_proc_times(VALUE 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 |