WebKit Bugzilla
Attachment 339260 Details for
Bug 185181
: Add release assertions in CFNetwork's SocketStreamHandleImpl to help debug a threading issue
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-185181-20180501195249.patch (text/plain), 2.46 KB, created by
Chris Dumez
on 2018-05-01 19:52:50 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Chris Dumez
Created:
2018-05-01 19:52:50 PDT
Size:
2.46 KB
patch
obsolete
>Subversion Revision: 231203 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 2a5ab73430be9982cec3adf5efbe9e40c45dd816..d49e295bc75e382e74611148c036cd85ddac6e2a 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,20 @@ >+2018-05-01 Chris Dumez <cdumez@apple.com> >+ >+ Add release assertions in CFNetwork's SocketStreamHandleImpl to help debug a threading issue >+ https://bugs.webkit.org/show_bug.cgi?id=185181 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add release assertions in CFNetwork's SocketStreamHandleImpl to help debug a threading issue >+ on iOS WebKitLegacy (Bug 185073). It appears readStreamCallback() can get called on the UIThread, >+ which should not be possible if scheduleStreams() was called on the WebThread, as it is supposed >+ to. The new release assertion in scheduleStreams() should tell us if somebody is calling it from >+ the UIthread instead of the WebThread on iOS WebKitLegacy. >+ >+ * platform/network/cf/SocketStreamHandleImplCFNet.cpp: >+ (WebCore::SocketStreamHandleImpl::scheduleStreams): >+ (WebCore::SocketStreamHandleImpl::readStreamCallback): >+ > 2018-05-01 Oleksandr Skachkov <gskachkov@gmail.com> > > WebAssembly: add support for stream APIs - JavaScript API >diff --git a/Source/WebCore/platform/network/cf/SocketStreamHandleImplCFNet.cpp b/Source/WebCore/platform/network/cf/SocketStreamHandleImplCFNet.cpp >index f1861517f83885d8b434c327b7b450816e9ab1af..33ca6cc3f272ced834aa3d7abf8ecd325580ebab 100644 >--- a/Source/WebCore/platform/network/cf/SocketStreamHandleImplCFNet.cpp >+++ b/Source/WebCore/platform/network/cf/SocketStreamHandleImplCFNet.cpp >@@ -123,6 +123,7 @@ void SocketStreamHandleImpl::scheduleStreams() > CFReadStreamScheduleWithRunLoop(m_readStream.get(), loaderRunLoop(), kCFRunLoopDefaultMode); > CFWriteStreamScheduleWithRunLoop(m_writeStream.get(), loaderRunLoop(), kCFRunLoopDefaultMode); > #else >+ RELEASE_ASSERT(isMainThread()); > CFReadStreamScheduleWithRunLoop(m_readStream.get(), CFRunLoopGetCurrent(), kCFRunLoopCommonModes); > CFWriteStreamScheduleWithRunLoop(m_writeStream.get(), CFRunLoopGetCurrent(), kCFRunLoopCommonModes); > #endif >@@ -469,7 +470,7 @@ void SocketStreamHandleImpl::readStreamCallback(CFReadStreamRef stream, CFStream > handle->readStreamCallback(type); > }); > #else >- ASSERT(isMainThread()); >+ RELEASE_ASSERT(isMainThread()); > handle->readStreamCallback(type); > #endif > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 185181
: 339260