Repository : ssh://darcs.haskell.org//srv/darcs/packages/old-time On branch : master
http://hackage.haskell.org/trac/ghc/changeset/b2c2c9d01c3c71a9a37c11b455aba63b7a3199c2 >--------------------------------------------------------------- commit b2c2c9d01c3c71a9a37c11b455aba63b7a3199c2 Author: Ian Lynagh <[email protected]> Date: Tue May 1 18:21:35 2012 +0100 Fix gettimeofday call on Win64 On both Win32 and Win64, timeval is defined to be a pair of longs. >--------------------------------------------------------------- System/Time.hsc | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 deletions(-) diff --git a/System/Time.hsc b/System/Time.hsc index 1ddddba..b2ff466 100644 --- a/System/Time.hsc +++ b/System/Time.hsc @@ -250,11 +250,20 @@ getClockTime = do return (TOD (fromIntegral sec) ((fromIntegral usec) * 1000000)) #elif HAVE_GETTIMEOFDAY + +# if defined(mingw32_HOST_OS) +type Timeval_tv_sec = CLong +type Timeval_tv_usec = CLong +# else +type Timeval_tv_sec = CTime +type Timeval_tv_usec = CSUSeconds +# endif + getClockTime = do allocaBytes (#const sizeof(struct timeval)) $ \ p_timeval -> do throwErrnoIfMinus1_ "getClockTime" $ gettimeofday p_timeval nullPtr - sec <- (#peek struct timeval,tv_sec) p_timeval :: IO CTime - usec <- (#peek struct timeval,tv_usec) p_timeval :: IO CSUSeconds + sec <- (#peek struct timeval,tv_sec) p_timeval :: IO Timeval_tv_sec + usec <- (#peek struct timeval,tv_usec) p_timeval :: IO Timeval_tv_usec return (TOD (realToInteger sec) ((realToInteger usec) * 1000000)) #elif HAVE_FTIME _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
