Changeset 167866 in webkit
- Timestamp:
- Apr 27, 2014 6:55:35 PM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r167865 r167866 1 2014-04-27 Alexey Proskuryakov <ap@apple.com> 2 3 Don't use DispatchMessageEvenWhenWaitingForSyncReply for messages from NetworkProcess 4 https://bugs.webkit.org/show_bug.cgi?id=132144 5 6 Reviewed by Darin Adler. 7 8 * NetworkProcess/AsynchronousNetworkLoaderClient.cpp: 9 (WebKit::AsynchronousNetworkLoaderClient::willSendRequest): 10 (WebKit::AsynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace): 11 Dont use the IPC::DispatchMessageEvenWhenWaitingForSyncReply flag. It's not needed, 12 almost never works in NetworkProcess, but may cause trouble if it did. 13 14 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 15 (WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess): Removed 16 setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage() 17 function call, because there are no more any messages in NetworkProcess it could affect. 18 19 * Platform/IPC/Connection.cpp: (IPC::Connection::dispatchMessage): Added a FIXME 20 for an unrelated bug Anders and myself noticed while looking into this. 21 1 22 2014-04-27 Dan Bernstein <mitz@apple.com> 2 23 -
trunk/Source/WebKit2/NetworkProcess/AsynchronousNetworkLoaderClient.cpp
r167853 r167866 51 51 void AsynchronousNetworkLoaderClient::willSendRequest(NetworkResourceLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse) 52 52 { 53 // This message is DispatchMessageEvenWhenWaitingForSyncReply to avoid a situation where the NetworkProcess is deadlocked 54 // waiting for 6 connections to complete while the WebProcess is waiting for a 7th (Synchronous XHR) to complete. 55 loader->sendAbortingOnFailure(Messages::WebResourceLoader::WillSendRequest(request, redirectResponse), IPC::DispatchMessageEvenWhenWaitingForSyncReply); 53 loader->sendAbortingOnFailure(Messages::WebResourceLoader::WillSendRequest(request, redirectResponse)); 56 54 } 57 55 … … 59 57 void AsynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace(NetworkResourceLoader* loader, const ProtectionSpace& protectionSpace) 60 58 { 61 // This message is DispatchMessageEvenWhenWaitingForSyncReply to avoid a situation where the NetworkProcess is deadlocked 62 // waiting for 6 connections to complete while the WebProcess is waiting for a 7th (Synchronous XHR) to complete. 63 loader->sendAbortingOnFailure(Messages::WebResourceLoader::CanAuthenticateAgainstProtectionSpace(protectionSpace), IPC::DispatchMessageEvenWhenWaitingForSyncReply); 59 loader->sendAbortingOnFailure(Messages::WebResourceLoader::CanAuthenticateAgainstProtectionSpace(protectionSpace)); 64 60 } 65 61 #endif -
trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp
r167635 r167866 59 59 { 60 60 m_connection = IPC::Connection::createServerConnection(connectionIdentifier, this, RunLoop::main()); 61 m_connection->setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage(true);62 61 m_connection->open(); 63 62 } -
trunk/Source/WebKit2/Platform/IPC/Connection.cpp
r167854 r167866 795 795 m_inDispatchMessageCount--; 796 796 797 // FIXME: For Delayed synchronous messages, we should not decrement the counter until we send a response. 798 // Otherwise, we would deadlock if processing the message results in a sync message back after we exit this function. 797 799 if (message->shouldDispatchMessageWhenWaitingForSyncReply()) 798 800 m_inDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount--;
Note: See TracChangeset
for help on using the changeset viewer.