Author: Ronan Lamy <[email protected]>
Branch: py3.5
Changeset: r93430:09836355d06a
Date: 2017-12-15 23:27 +0000
http://bitbucket.org/pypy/pypy/changeset/09836355d06a/
Log: I hate RPython
diff --git a/pypy/module/time/interp_time.py b/pypy/module/time/interp_time.py
--- a/pypy/module/time/interp_time.py
+++ b/pypy/module/time/interp_time.py
@@ -480,8 +480,8 @@
with lltype.scoped_alloc(TIMEVAL) as t:
seconds = ns // SECS_TO_NS
us = (ns % SECS_TO_NS) // US_TO_NS
- rffi.setintfield(t, 'c_tv_sec', seconds)
- rffi.setintfield(t, 'c_tv_usec', us)
+ rffi.setintfield(t, 'c_tv_sec', int(seconds))
+ rffi.setintfield(t, 'c_tv_usec', int(us))
res = rffi.cast(rffi.LONG, c_select(0, void, void, void, t))
if res == 0:
diff --git a/rpython/rlib/rtime.py b/rpython/rlib/rtime.py
--- a/rpython/rlib/rtime.py
+++ b/rpython/rlib/rtime.py
@@ -165,7 +165,7 @@
'QueryPerformanceCounter', [rffi.CArrayPtr(lltype.SignedLongLong)],
lltype.Void, releasegil=False)
QueryPerformanceFrequency = external(
- 'QueryPerformanceFrequency', [rffi.CArrayPtr(lltype.SignedLongLong)],
+ 'QueryPerformanceFrequency', [rffi.CArrayPtr(lltype.SignedLongLong)],
rffi.INT, releasegil=False)
class State(object):
divisor = 0.0
@@ -267,9 +267,10 @@
else:
void = lltype.nullptr(rffi.VOIDP.TO)
with lltype.scoped_alloc(TIMEVAL) as t:
- frac = math.fmod(secs, 1.0)
+ frac = int(math.fmod(secs, 1.0) * 1000000.)
+ assert frac >= 0
rffi.setintfield(t, 'c_tv_sec', int(secs))
- rffi.setintfield(t, 'c_tv_usec', int(frac*1000000.0))
+ rffi.setintfield(t, 'c_tv_usec', frac)
if rffi.cast(rffi.LONG, c_select(0, void, void, void, t)) != 0:
errno = rposix.get_saved_errno()
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit