Race condition in StartWebThread causing crash
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 23 Aug 2017 17:41:39 +0000 (17:41 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 23 Aug 2017 17:41:39 +0000 (17:41 +0000)
commita40eedf2b439b4407fe126c0bf701831bd58b5b9
tree0061fcb4f9f48b44a53c1618cf54edb945593360
parent986c978d62494a587df6068a7ed8191a24dcf282
Race condition in StartWebThread causing crash
https://bugs.webkit.org/show_bug.cgi?id=175852

Reviewed by Mark Lam.

When starting web thread, the main thread waits for completion of web thread initialization
by using pthread_cond_t. However, the main thread may be woken up due to the existence of
the spurious wake up of pthread_cond_t.

Instead, we should use WTF::Lock and WTF::Condition. Since our StartWebThread already calls
WTF::initializeThreading, it is safe to use WTF::Lock and WTF::Condition. And our WTF::Condition
does not have the spurious wake up problem as described in Condition.h.

* platform/ios/wak/WebCoreThread.mm:
(RunWebThread):
(StartWebThread):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221083 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/ios/wak/WebCoreThread.mm