diff options
| author | Nay <dnpd.dd@gmail.com> | 2013-09-11 11:50:18 -0700 |
|---|---|---|
| committer | Nay <dnpd.dd@gmail.com> | 2013-09-11 11:50:18 -0700 |
| commit | baa159dbd4472a3cff2e4256fec60431878ae1f8 (patch) | |
| tree | 81dba5007ef41f0506db6096d277d5ddf96146ff /src/server/game/Weather/Weather.cpp | |
| parent | 77f90c1c67864305d532233266a4951f48f61683 (diff) | |
| parent | 9578b5f87a4aa96e120b78f410ea90e141903dd7 (diff) | |
Merge pull request #10736 from jackpoz/localtime_race_condition
Core/Thread: Fix race condition converting time values to local time
Diffstat (limited to 'src/server/game/Weather/Weather.cpp')
| -rw-r--r-- | src/server/game/Weather/Weather.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/game/Weather/Weather.cpp b/src/server/game/Weather/Weather.cpp index 38d64eedd5c..0457dc7e033 100644 --- a/src/server/game/Weather/Weather.cpp +++ b/src/server/game/Weather/Weather.cpp @@ -93,8 +93,9 @@ bool Weather::ReGenerate() //78 days between January 1st and March 20nd; 365/4=91 days by season // season source http://aa.usno.navy.mil/data/docs/EarthSeasons.html time_t gtime = sWorld->GetGameTime(); - struct tm * ltime = localtime(>ime); - uint32 season = ((ltime->tm_yday - 78 + 365)/91)%4; + struct tm ltime; + ACE_OS::localtime_r(>ime, <ime); + uint32 season = ((ltime.tm_yday - 78 + 365)/91)%4; static char const* seasonName[WEATHER_SEASONS] = { "spring", "summer", "fall", "winter" }; |
