Changeset 63708 in webkit


Ignore:
Timestamp:
Jul 19, 2010 7:40:34 PM (14 years ago)
Author:
andersca@apple.com
Message:

WebKitTestRunner and WebProcess simultaneously stall in CoreIPC::Connection::sendOutgoingMessage
https://bugs.webkit.org/show_bug.cgi?id=42356

Reviewed by Sam Weinig.

Up the port queue length from 5 to 1024. While this does solve the problem, we should still try to
make sendOutgoingMessage not block. I've filed https://bugs.webkit.org/show_bug.cgi?id=42611 to track
doing this on Mac and Windows.

  • Platform/CoreIPC/mac/ConnectionMac.cpp:

(CoreIPC::Connection::open):
Call setMachPortQueueLength.

  • Platform/mac/MachUtilities.cpp: Added.

(setMachPortQueueLength):
Given a mach port receive right, sets the port queue length.

  • Platform/mac/MachUtilities.h: Added.
  • WebKit2.xcodeproj/project.pbxproj:

Add MachUtilities.cpp and MachUtilities.h

Location:
trunk/WebKit2
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit2/ChangeLog

    r63704 r63708  
     12010-07-19  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        WebKitTestRunner and WebProcess simultaneously stall in CoreIPC::Connection::sendOutgoingMessage
     6        https://bugs.webkit.org/show_bug.cgi?id=42356
     7
     8        Up the port queue length from 5 to 1024. While this does solve the problem, we should still try to
     9        make sendOutgoingMessage not block. I've filed https://bugs.webkit.org/show_bug.cgi?id=42611 to track
     10        doing this on Mac and Windows.
     11
     12        * Platform/CoreIPC/mac/ConnectionMac.cpp:
     13        (CoreIPC::Connection::open):
     14        Call setMachPortQueueLength.
     15
     16        * Platform/mac/MachUtilities.cpp: Added.
     17        (setMachPortQueueLength):
     18        Given a mach port receive right, sets the port queue length.
     19
     20        * Platform/mac/MachUtilities.h: Added.
     21       
     22        * WebKit2.xcodeproj/project.pbxproj:
     23        Add MachUtilities.cpp and MachUtilities.h
     24
    1252010-07-19  Anders Carlsson  <andersca@apple.com>
    226
  • trunk/WebKit2/Platform/CoreIPC/mac/ConnectionMac.cpp

    r63442 r63708  
    2828#include "CoreIPCMessageKinds.h"
    2929#include "MachPort.h"
     30#include "MachUtilities.h"
    3031#include "RunLoop.h"
    3132#include <mach/vm_map.h>
     
    9293    }
    9394   
     95    // Change the message queue length for the receive port.
     96    setMachPortQueueLength(m_receivePort, MACH_PORT_QLIMIT_LARGE);
     97
    9498    // Register the data available handler.
    9599    m_connectionQueue.registerMachPortEventHandler(m_receivePort, WorkQueue::MachPortDataAvailable,
  • trunk/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r63664 r63708  
    3838                1A2162B011F38971008AD0F5 /* NPRuntimeUtilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2162AE11F38971008AD0F5 /* NPRuntimeUtilities.cpp */; };
    3939                1A2162B111F38971008AD0F5 /* NPRuntimeUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2162AF11F38971008AD0F5 /* NPRuntimeUtilities.h */; };
     40                1A24B5F211F531E800C38269 /* MachUtilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A24B5F011F531E800C38269 /* MachUtilities.cpp */; };
     41                1A24B5F311F531E800C38269 /* MachUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A24B5F111F531E800C38269 /* MachUtilities.h */; };
    4042                1A30066E1110F4F70031937C /* ResponsivenessTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A30066C1110F4F70031937C /* ResponsivenessTimer.h */; };
    4143                1A30EAC6115D7DA30053E937 /* ConnectionMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A30EAC5115D7DA30053E937 /* ConnectionMac.cpp */; };
     
    308310                1A2162AE11F38971008AD0F5 /* NPRuntimeUtilities.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NPRuntimeUtilities.cpp; sourceTree = "<group>"; };
    309311                1A2162AF11F38971008AD0F5 /* NPRuntimeUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NPRuntimeUtilities.h; sourceTree = "<group>"; };
     312                1A24B5F011F531E800C38269 /* MachUtilities.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MachUtilities.cpp; sourceTree = "<group>"; };
     313                1A24B5F111F531E800C38269 /* MachUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachUtilities.h; sourceTree = "<group>"; };
    310314                1A30066C1110F4F70031937C /* ResponsivenessTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResponsivenessTimer.h; sourceTree = "<group>"; };
    311315                1A30EAC5115D7DA30053E937 /* ConnectionMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConnectionMac.cpp; sourceTree = "<group>"; };
     
    700704                        isa = PBXGroup;
    701705                        children = (
     706                                1A24B5F011F531E800C38269 /* MachUtilities.cpp */,
     707                                1A24B5F111F531E800C38269 /* MachUtilities.h */,
    702708                                BC0092F5115837A300E0AE2A /* RunLoopMac.mm */,
    703709                                BC0092F6115837A300E0AE2A /* WorkQueueMac.cpp */,
     
    12521258                                1A2161B011F37664008AD0F5 /* NPJSObjectMap.h in Headers */,
    12531259                                1A2162B111F38971008AD0F5 /* NPRuntimeUtilities.h in Headers */,
     1260                                1A24B5F311F531E800C38269 /* MachUtilities.h in Headers */,
    12541261                        );
    12551262                        runOnlyForDeploymentPostprocessing = 0;
     
    14451452                                1A2162B011F38971008AD0F5 /* NPRuntimeUtilities.cpp in Sources */,
    14461453                                1A1C649B11F4174200553C19 /* WebContextMac.mm in Sources */,
     1454                                1A24B5F211F531E800C38269 /* MachUtilities.cpp in Sources */,
    14471455                        );
    14481456                        runOnlyForDeploymentPostprocessing = 0;
Note: See TracChangeset for help on using the changeset viewer.