[webkit-reviews] review canceled: [Bug 76521] WebSocket: MessageEvent fired during send() on workers : [Attachment 122886] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jan 19 02:56:38 PST 2012


Yuta Kitamura <yutak at chromium.org> has canceled Yuta Kitamura
<yutak at chromium.org>'s request for review:
Bug 76521: WebSocket: MessageEvent fired during send() on workers
https://bugs.webkit.org/show_bug.cgi?id=76521

Attachment 122886: Patch
https://bugs.webkit.org/attachment.cgi?id=122886&action=review

------- Additional Comments from Yuta Kitamura <yutak at chromium.org>
View in context: https://bugs.webkit.org/attachment.cgi?id=122886&action=review


>>>> Source/WebCore/websockets/ThreadableWebSocketChannelClientWrapper.cpp:190
>>>> +	  if (!m_syncMethodDone) {
>>> 
>>> Why go through all of this?
>>> 
>>> If you post a task without a mode, then it won't run until the nested loop
is done.
>> 
>> Sorry, I digged the code a bit but I still don't get the idea of what the
"mode" is.
>> 
>> WorkerThreadableWebSocketChannel posts tasks with m_taskMode specified as
the mode (which is generated within ThreadableWebSocketChannel::create()). Is
this wrong?
> 
> When a nested loop runs in a worker, it runs in a "mode". The mode is just a
string but that string acts as a filter. It only allows tasks that are posted
using that "mode" (the same string) to run during that nested loop. If a task
is posted with no mode, then the task isn't run until the nested loop is done.
> 
> In general, the code should posts tasks using the m_taskMode (or else they
won't run at all during this nested message loop.). However, in this case, for
this one task, it sounds like you want to run a task but not until the nested
loop is done, so if the code uses "postTask" instead of "postTaskForMode" (or
uses "" as the mode if necessary), then you will get the desired result.
> 
> Hope that helps.

Okay, I think I got your point. I'm going to update the patch.


More information about the webkit-reviews mailing list