From 5ee1d5909e9b0ce02dc5334f7f03f3ec3c7565f3 Mon Sep 17 00:00:00 2001 From: Lukas Larsson Date: Tue, 19 Apr 2022 10:20:57 +0200 Subject: erts: Fix localtime_r summer/winter-time change bug According to POSIX, localtime_r does not have to update the process internal tz data when called. So if time went from winter to summertime erts is running localtime_r may return an incorrect time. So we need to make sure to call tzset before each call to localtime_r. localtime is guaranteed to update the tz information, so no need to call it when using localtime. --- erts/emulator/sys/win32/erl_win_sys.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'erts/emulator/sys/win32/erl_win_sys.h') diff --git a/erts/emulator/sys/win32/erl_win_sys.h b/erts/emulator/sys/win32/erl_win_sys.h index b00ba287e2..8b6947c4e0 100644 --- a/erts/emulator/sys/win32/erl_win_sys.h +++ b/erts/emulator/sys/win32/erl_win_sys.h @@ -140,8 +140,6 @@ 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); -#define localtime_r sys_localtime_r -#define HAVE_LOCALTIME_R 1 #define gmtime_r sys_gmtime_r #define HAVE_GMTIME_R #define mktime sys_mktime -- cgit v1.2.1