diff options
author | jackpoz <giacomopoz@gmail.com> | 2013-09-07 14:37:54 +0200 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2013-09-07 14:37:54 +0200 |
commit | 9578b5f87a4aa96e120b78f410ea90e141903dd7 (patch) | |
tree | d3aa8e7d88004d03342e355c8c6d3cf43f6eddb1 /dep/StormLib/src/SFileCreateArchive.cpp | |
parent | 8c70f8cb08d2fc3b38abcac25d421cdd92e25615 (diff) |
Core/Thread: Fix race condition converting time values to local time
Replace thread-unsafe localtime() http://www.cplusplus.com/reference/ctime/localtime/ with thread-safe portable ACE_OS::localtime_r() .
Helgrind log:
Possible data race during read of size 4 at 0x6F183C0 by thread #1
Locks held: none
at 0x14E72E3: World::InitDailyQuestResetTime() (World.cpp:2772)
by 0x14E3A01: World::SetInitialWorldSettings() (World.cpp:1790)
by 0x101122A: Master::Run() (Master.cpp:164)
by 0x101740C: main (Main.cpp:142)
This conflicts with a previous write of size 4 by thread #2
Locks held: none
at 0x6C2D3BA: __tzfile_compute (tzfile.c:797)
by 0x6C2D036: __tz_convert (tzset.c:627)
by 0x164146C: LogMessage::getTimeStr(long) (Appender.cpp:23)
by 0x1641550: LogMessage::getTimeStr() (Appender.cpp:31)
by 0x1641722: Appender::write(LogMessage&) (Appender.cpp:80)
by 0x1633FCE: Logger::write(LogMessage&) (Logger.cpp:83)
by 0x16433D8: LogOperation::call() (LogOperation.cpp:29)
by 0x16428A4: LogWorker::svc() (LogWorker.cpp:45)
Diffstat (limited to 'dep/StormLib/src/SFileCreateArchive.cpp')
0 files changed, 0 insertions, 0 deletions