[Webkit-unassigned] [Bug 198993] [Curl] CurlRequestScheduler doesn't terminate worker thread in a certain situation.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jun 19 20:54:18 PDT 2019


https://bugs.webkit.org/show_bug.cgi?id=198993

--- Comment #6 from Takashi Komori <Takashi.Komori at sony.com> ---
(In reply to Fujii Hironori from comment #2)
> (In reply to Takashi Komori from comment #0)
> > When calling CurlRequest::didReceiveData task is not processed properly, a
> > paused connection could remain.
> 
> Why can it remain?
> 
> > In this case CurlRequestScheduler never releases the client related to it.
> 
> Really? It seems that CurlRequestScheduler calls completeTransfer.

To be precise, the task added by didreceiveData is not processed properly.
And when that task is not processed, the connection rmains paused.


CurlRequest::didReceiveData (PAUSE)
CurlRequest::invokeDidReceiveResponse
|
| (Add task by using callClient)
| 
NetworkDataTaskCurl::curlDidReceiveResponse
NetworkDataTaskCurl::invokeDidReceiveResponse
CurlRequest::completeDidReceiveResponse (UNPAUSE)
CrrlRequest::didCompleteTransfer


In this case, paused connection won't return CURLMSG_DONE message and CurlRequestScheduler::completeTransfer will not be invoked.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20190620/82192b0c/attachment-0001.html>


More information about the webkit-unassigned mailing list