From 4d676cf76f2ea4d19486593a9bf542f1450ad517 Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 1 Jan 2003 10:49:14 +0000 Subject: [PATCH] * process.c (rb_proc_times): avoid WindowsXP crash using volatile variables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- process.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/process.c b/process.c index 38592794cb..41a00154ed 100644 --- a/process.c +++ b/process.c @@ -1261,13 +1261,17 @@ rb_proc_times(obj) # endif #endif /* HZ */ struct tms buf; + VALUE volatile utime = rb_float_new((double)buf.tms_utime / HZ); + VALUE volatile stime = rb_float_new((double)buf.tms_stime / HZ); + VALUE volatile cutime = rb_float_new((double)buf.tms_cutime / HZ); + VALUE volatile sctime = rb_float_new((double)buf.tms_cstime / HZ); times(&buf); return rb_struct_new(S_Tms, - rb_float_new((double)buf.tms_utime / HZ), - rb_float_new((double)buf.tms_stime / HZ), - rb_float_new((double)buf.tms_cutime / HZ), - rb_float_new((double)buf.tms_cstime / HZ)); + utime, + stime, + cutime, + sctime); #else rb_notimplement(); #endif