WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
131630
monotonicallyIncreasingTime() should only initialize its static timebaseInfo once
https://bugs.webkit.org/show_bug.cgi?id=131630
Summary
monotonicallyIncreasingTime() should only initialize its static timebaseInfo ...
Mark Lam
Reported
2014-04-14 12:51:58 PDT
The current initialization of the static field is not thread safe.
Attachments
the patch
(1.58 KB, patch)
2014-04-14 13:02 PDT
,
Mark Lam
fpizlo
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Mark Lam
Comment 1
2014-04-14 12:52:54 PDT
<
rdar://problem/16413527
>
Mark Lam
Comment 2
2014-04-14 13:02:53 PDT
Created
attachment 229302
[details]
the patch
Filip Pizlo
Comment 3
2014-04-14 13:20:28 PDT
Comment on
attachment 229302
[details]
the patch View in context:
https://bugs.webkit.org/attachment.cgi?id=229302&action=review
> Source/WTF/wtf/CurrentTime.cpp:278 > // Based on listing #2 from Apple QA 1398. > static mach_timebase_info_data_t timebaseInfo; > - if (!timebaseInfo.denom) { > + static std::once_flag initializeTimerOnceFlag; > + std::call_once(initializeTimerOnceFlag, [] {
You should change the comment to say that it fixes the race condition in that listing. Say something like "Based on listing #2 from Apple QA 1398, but modified to be thread-safe".
Mark Lam
Comment 4
2014-04-14 13:33:06 PDT
Thanks. Patch has been updated as suggested. Landed in
r167263
: <
http://trac.webkit.org/r167263
>.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug