Ticket #857 (closed bug: fixed)
Parrot_floatval_time() and Parrot_intval_time() do not match up on Win32
|Reported by:||jkeenan||Owned by:||Paul C. Anagnostopoulos|
This ticket was created by Infinoid as http://rt.perl.org/rt3/Ticket/Display.html?id=53538 RT #53538] in April 2008. It was never resolved there, but since a companion ticket has been resolved, I am moving it to the Trac system in the hope that higher visibility will lead to its resolution.
When running the following PIR:
.sub main I0 = time print I0 print "\n" N0 = time print N0 print "\n" I0 = N0 print I0 print "\n" .end
On linux, I get:
1209519949 1209519949.066321 1209519949
This is what we expected.
On Mingw32, I get:
1209538332 12854011932.719000 -2147483648
On MSVC, wknight8111 got:
1209519873 12853993473.285999 -30908415
These numbers are completely wrong. This causes problems elsewhere; for instance, the code in Parrot_cx_schedule_sleep() expects the two timestamp formats to match up, so it can calculate the correct time to wake up again.