Skip to content

Commit

Permalink
* 修复可能的跨线程崩溃
Browse files Browse the repository at this point in the history
  • Loading branch information
weolar committed Oct 6, 2019
1 parent 615c8a1 commit c607529
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions net/WebURLLoaderManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -641,17 +641,21 @@ bool WebURLLoaderManager::downloadOnIoThread()
WebURLLoaderManagerMainTask::pushTask(jobId, WebURLLoaderManagerMainTask::TaskType::kDidFinishLoading, nullptr, 0, 0, 0);
}
} else {
char* url = 0;
char* url = nullptr;
curl_easy_getinfo(job->m_handle, CURLINFO_EFFECTIVE_URL, &url);
if (!url)
url = "url is empty";
if (job->client() && job->loader()) {
MainTaskArgs* args = WebURLLoaderManagerMainTask::pushTask(jobId, WebURLLoaderManagerMainTask::TaskType::kDidFail, nullptr, 0, 0, 0);
args->resourceError->reason = msg->data.result;
args->resourceError->domain = blink::WebString::fromLatin1(url);
args->resourceError->unreachableURL = blink::KURL(blink::ParsedURLString, url);
args->resourceError->localizedDescription = blink::WebString::fromLatin1(curl_easy_strerror(msg->data.result));

String outString = String::format("kDidFail on io Thread:%d, %s\n", msg->data.result, url);
OutputDebugStringW(outString.charactersWithNullTermination().data());
char* output = (char*)malloc(0x300 + strlen(url));
sprintf(output, "kDidFail on io Thread:%d, %s\n", msg->data.result, url);
OutputDebugStringA(output);
free(output);
}
}

Expand Down

0 comments on commit c607529

Please sign in to comment.