Title: [261101] trunk/Tools
- Revision
- 261101
- Author
- [email protected]
- Date
- 2020-05-04 12:46:27 -0700 (Mon, 04 May 2020)
Log Message
[Catalina] ASSERTION FAILED: Unsafe to ref/deref from different threads seen with TestWebKitAPI.MultipleClientCertificateConnections.Failure
https://bugs.webkit.org/show_bug.cgi?id=211300
Patch by Alex Christensen <[email protected]> on 2020-05-04
Reviewed by Youenn Fablet.
RequestData references are stored in blocks given to the network framework, which does things on background threads.
To make them safe to ref and deref on non-main threads, make RequestData ThreadSafeRefCounted.
* TestWebKitAPI/cocoa/HTTPServer.mm:
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (261100 => 261101)
--- trunk/Tools/ChangeLog 2020-05-04 19:44:50 UTC (rev 261100)
+++ trunk/Tools/ChangeLog 2020-05-04 19:46:27 UTC (rev 261101)
@@ -1,3 +1,15 @@
+2020-05-04 Alex Christensen <[email protected]>
+
+ [Catalina] ASSERTION FAILED: Unsafe to ref/deref from different threads seen with TestWebKitAPI.MultipleClientCertificateConnections.Failure
+ https://bugs.webkit.org/show_bug.cgi?id=211300
+
+ Reviewed by Youenn Fablet.
+
+ RequestData references are stored in blocks given to the network framework, which does things on background threads.
+ To make them safe to ref and deref on non-main threads, make RequestData ThreadSafeRefCounted.
+
+ * TestWebKitAPI/cocoa/HTTPServer.mm:
+
2020-05-04 Darin Adler <[email protected]>
Remove now-unneeded HAVE(MEDIA_PLAYER)
Modified: trunk/Tools/TestWebKitAPI/cocoa/HTTPServer.mm (261100 => 261101)
--- trunk/Tools/TestWebKitAPI/cocoa/HTTPServer.mm 2020-05-04 19:44:50 UTC (rev 261100)
+++ trunk/Tools/TestWebKitAPI/cocoa/HTTPServer.mm 2020-05-04 19:46:27 UTC (rev 261101)
@@ -32,12 +32,13 @@
#import <wtf/BlockPtr.h>
#import <wtf/CompletionHandler.h>
#import <wtf/RetainPtr.h>
+#import <wtf/ThreadSafeRefCounted.h>
#import <wtf/text/StringBuilder.h>
#import <wtf/text/WTFString.h>
namespace TestWebKitAPI {
-struct HTTPServer::RequestData : public RefCounted<RequestData> {
+struct HTTPServer::RequestData : public ThreadSafeRefCounted<RequestData, WTF::DestructionThread::MainRunLoop> {
RequestData(std::initializer_list<std::pair<String, HTTPResponse>> responses)
: requestMap([](std::initializer_list<std::pair<String, HTTPServer::HTTPResponse>> list) {
HashMap<String, HTTPServer::HTTPResponse> map;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes