diff options
Diffstat (limited to 'erts/emulator/sys/win32/erl_win_sys.h')
-rw-r--r-- | erts/emulator/sys/win32/erl_win_sys.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/erts/emulator/sys/win32/erl_win_sys.h b/erts/emulator/sys/win32/erl_win_sys.h index ac5639b701..e8453205ea 100644 --- a/erts/emulator/sys/win32/erl_win_sys.h +++ b/erts/emulator/sys/win32/erl_win_sys.h @@ -117,6 +117,17 @@ int erts_check_io_debug(void); #define SYS_CLK_TCK 1000 #define SYS_CLOCK_RESOLUTION 1 +#if SIZEOF_TIME_T != 8 +# error "Unexpected sizeof(time_t)" +#endif + +/* + * gcc uses a 4 byte time_t and vc++ uses an 8 byte time_t. + * Types seen in beam_emu.c *need* to have the same size + * as in the rest of the system... + */ +typedef __int64 erts_time_t; + struct tm *sys_localtime_r(time_t *epochs, struct tm *ptm); struct tm *sys_gmtime_r(time_t *epochs, struct tm *ptm); time_t sys_mktime( struct tm *ptm); @@ -128,8 +139,8 @@ time_t sys_mktime( struct tm *ptm); #define mktime sys_mktime typedef struct { - long tv_sec; - long tv_usec; + erts_time_t tv_sec; + erts_time_t tv_usec; } SysTimeval; typedef struct { |