Title: [215697] trunk/Tools
- Revision
- 215697
- Author
- keith_mil...@apple.com
- Date
- 2017-04-24 14:43:50 -0700 (Mon, 24 Apr 2017)
Log Message
ThreadMessage API tests failing on release bots
https://bugs.webkit.org/show_bug.cgi?id=171246
Reviewed by Saam Barati.
Need to make sure that C++ doesn't optimize away our spin loop.
* TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
(runThreadMessageTest):
(TEST):
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (215696 => 215697)
--- trunk/Tools/ChangeLog 2017-04-24 21:33:05 UTC (rev 215696)
+++ trunk/Tools/ChangeLog 2017-04-24 21:43:50 UTC (rev 215697)
@@ -1,3 +1,16 @@
+2017-04-24 Keith Miller <keith_mil...@apple.com>
+
+ ThreadMessage API tests failing on release bots
+ https://bugs.webkit.org/show_bug.cgi?id=171246
+
+ Reviewed by Saam Barati.
+
+ Need to make sure that C++ doesn't optimize away our spin loop.
+
+ * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
+ (runThreadMessageTest):
+ (TEST):
+
2017-04-24 Alex Christensen <achristen...@webkit.org>
Reduce copies and allocations in SharedBuffer::append
Modified: trunk/Tools/TestWebKitAPI/Tests/WTF/ThreadMessages.cpp (215696 => 215697)
--- trunk/Tools/TestWebKitAPI/Tests/WTF/ThreadMessages.cpp 2017-04-24 21:33:05 UTC (rev 215696)
+++ trunk/Tools/TestWebKitAPI/Tests/WTF/ThreadMessages.cpp 2017-04-24 21:43:50 UTC (rev 215697)
@@ -35,10 +35,9 @@
static void runThreadMessageTest(unsigned numSenders, unsigned numMessages)
{
- bool receiverShouldKeepRunning = true;
- dataLogLn("starting");
+ Atomic<bool> receiverShouldKeepRunning(true);
RefPtr<Thread> receiverThread = Thread::create("ThreadMessage receiver", [&receiverShouldKeepRunning] () {
- while (receiverShouldKeepRunning) { }
+ while (receiverShouldKeepRunning.load()) { }
});
ASSERT_TRUE(receiverThread);
@@ -64,7 +63,7 @@
for (unsigned i = 0; i < numSenders; ++i)
senderThreads[i]->waitForCompletion();
- receiverShouldKeepRunning = false;
+ receiverShouldKeepRunning.store(false);
receiverThread->waitForCompletion();
for (unsigned i = 0; i < numSenders; ++i) {
@@ -102,10 +101,10 @@
return SignalAction::Handled;
});
- bool receiverShouldKeepRunning = true;
+ Atomic<bool> receiverShouldKeepRunning(true);
RefPtr<Thread> receiverThread = (Thread::create("ThreadMessage receiver",
[&receiverShouldKeepRunning] () {
- while (receiverShouldKeepRunning) { }
+ while (receiverShouldKeepRunning.load()) { }
}));
ASSERT_TRUE(receiverThread);
@@ -112,7 +111,7 @@
bool signalFired;
{
std::unique_lock<std::mutex> locker(static_cast<ReflectedThread*>(receiverThread.get())->m_mutex);
- receiverShouldKeepRunning = false;
+ receiverShouldKeepRunning.store(false);
EXPECT_FALSE(static_cast<ReflectedThread*>(receiverThread.get())->hasExited());
sleep(1);
signalFired = !pthread_kill(static_cast<ReflectedThread*>(receiverThread.get())->m_handle, toSystemSignal(Signal::Usr));
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes