From 437f6053a9f81ea9e25788e35589836f2c65f8b9 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Mon, 30 Sep 2013 17:27:45 -0700 Subject: [PATCH] Rename IPDL's RPC to Interrupt (bug 910020, r=bent). --HG-- rename : ipc/ipdl/test/cxx/PTestRPCErrorCleanup.ipdl => ipc/ipdl/test/cxx/PTestInterruptErrorCleanup.ipdl rename : ipc/ipdl/test/cxx/PTestRPCRaces.ipdl => ipc/ipdl/test/cxx/PTestInterruptRaces.ipdl rename : ipc/ipdl/test/cxx/PTestRPCShutdownRace.ipdl => ipc/ipdl/test/cxx/PTestInterruptShutdownRace.ipdl rename : ipc/ipdl/test/cxx/PTestRacyRPCReplies.ipdl => ipc/ipdl/test/cxx/PTestRacyInterruptReplies.ipdl rename : ipc/ipdl/test/cxx/TestRPCErrorCleanup.cpp => ipc/ipdl/test/cxx/TestInterruptErrorCleanup.cpp rename : ipc/ipdl/test/cxx/TestRPCErrorCleanup.h => ipc/ipdl/test/cxx/TestInterruptErrorCleanup.h rename : ipc/ipdl/test/cxx/TestRPCRaces.cpp => ipc/ipdl/test/cxx/TestInterruptRaces.cpp rename : ipc/ipdl/test/cxx/TestRPCRaces.h => ipc/ipdl/test/cxx/TestInterruptRaces.h rename : ipc/ipdl/test/cxx/TestRPCShutdownRace.cpp => ipc/ipdl/test/cxx/TestInterruptShutdownRace.cpp rename : ipc/ipdl/test/cxx/TestRPCShutdownRace.h => ipc/ipdl/test/cxx/TestInterruptShutdownRace.h rename : ipc/ipdl/test/cxx/TestRacyRPCReplies.cpp => ipc/ipdl/test/cxx/TestRacyInterruptReplies.cpp rename : ipc/ipdl/test/cxx/TestRacyRPCReplies.h => ipc/ipdl/test/cxx/TestRacyInterruptReplies.h rename : ipc/ipdl/test/ipdl/error/rpcMessageCompress.ipdl => ipc/ipdl/test/ipdl/error/intrMessageCompress.ipdl rename : ipc/ipdl/test/ipdl/error/tooWeakRPCAsync.ipdl => ipc/ipdl/test/ipdl/error/tooWeakInterruptAsync.ipdl rename : ipc/ipdl/test/ipdl/ok/rpcProtocol.ipdl => ipc/ipdl/test/ipdl/ok/intrProtocol.ipdl --- .../webspeech/synth/ipc/PSpeechSynthesis.ipdl | 2 +- .../synth/ipc/PSpeechSynthesisRequest.ipdl | 2 +- dom/ipc/PBrowser.ipdl | 4 +- dom/ipc/PContent.ipdl | 2 +- dom/ipc/PCrashReporter.ipdl | 2 +- dom/plugins/ipc/COMMessageFilter.cpp | 2 +- dom/plugins/ipc/PBrowserStream.ipdl | 4 +- dom/plugins/ipc/PPluginInstance.ipdl | 78 +++++----- dom/plugins/ipc/PPluginModule.ipdl | 34 ++--- dom/plugins/ipc/PPluginScriptableObject.ipdl | 26 ++-- dom/plugins/ipc/PPluginStream.ipdl | 6 +- dom/plugins/ipc/PStreamNotify.ipdl | 2 +- dom/plugins/ipc/PluginMessageUtils.cpp | 6 +- dom/plugins/ipc/PluginMessageUtils.h | 2 +- dom/plugins/ipc/PluginModuleChild.cpp | 10 +- dom/plugins/ipc/PluginModuleChild.h | 8 +- dom/plugins/ipc/PluginModuleParent.cpp | 14 +- dom/plugins/ipc/PluginModuleParent.h | 8 +- gfx/layers/ipc/PCompositor.ipdl | 2 +- gfx/layers/ipc/PImageBridge.ipdl | 2 +- ipc/chromium/src/chrome/common/ipc_message.cc | 4 +- ipc/chromium/src/chrome/common/ipc_message.h | 34 ++--- ipc/glue/MessageChannel.cpp | 140 +++++++++--------- ipc/glue/MessageChannel.h | 87 ++++++----- ipc/glue/MessageLink.h | 18 +-- ipc/glue/WindowsMessageLoop.cpp | 36 ++--- ipc/ipdl/ipdl/ast.py | 10 +- ipc/ipdl/ipdl/cgen.py | 2 +- ipc/ipdl/ipdl/lower.py | 46 +++--- ipc/ipdl/ipdl/parser.py | 7 +- ipc/ipdl/ipdl/type.py | 22 +-- ipc/ipdl/test/cxx/Makefile.in | 8 +- ipc/ipdl/test/cxx/PTestBadActor.ipdl | 2 +- ipc/ipdl/test/cxx/PTestBadActorSub.ipdl | 4 +- ipc/ipdl/test/cxx/PTestBridgeMainSub.ipdl | 6 +- ipc/ipdl/test/cxx/PTestCrashCleanup.ipdl | 4 +- ipc/ipdl/test/cxx/PTestDesc.ipdl | 4 +- ipc/ipdl/test/cxx/PTestDescSub.ipdl | 4 +- ipc/ipdl/test/cxx/PTestDescSubsub.ipdl | 4 +- ipc/ipdl/test/cxx/PTestFailedCtor.ipdl | 4 +- ipc/ipdl/test/cxx/PTestFailedCtorSub.ipdl | 2 +- ipc/ipdl/test/cxx/PTestFailedCtorSubsub.ipdl | 2 +- ipc/ipdl/test/cxx/PTestHangs.ipdl | 6 +- ...p.ipdl => PTestInterruptErrorCleanup.ipdl} | 6 +- ...RPCRaces.ipdl => PTestInterruptRaces.ipdl} | 16 +- ...e.ipdl => PTestInterruptShutdownRace.ipdl} | 4 +- ipc/ipdl/test/cxx/PTestLatency.ipdl | 8 +- ipc/ipdl/test/cxx/PTestNestedLoops.ipdl | 4 +- ipc/ipdl/test/cxx/PTestOpensOpened.ipdl | 6 +- ipc/ipdl/test/cxx/PTestRaceDeferral.ipdl | 8 +- ...es.ipdl => PTestRacyInterruptReplies.ipdl} | 6 +- ipc/ipdl/test/cxx/PTestRacyReentry.ipdl | 6 +- ipc/ipdl/test/cxx/PTestRacyUndefer.ipdl | 8 +- ipc/ipdl/test/cxx/PTestShutdown.ipdl | 2 +- ipc/ipdl/test/cxx/PTestShutdownSub.ipdl | 4 +- ipc/ipdl/test/cxx/PTestStackHooks.ipdl | 6 +- ipc/ipdl/test/cxx/PTestSyncWakeup.ipdl | 4 +- ipc/ipdl/test/cxx/PTestUrgency.ipdl | 2 +- ...anup.cpp => TestInterruptErrorCleanup.cpp} | 34 ++--- ...rCleanup.h => TestInterruptErrorCleanup.h} | 26 ++-- ...estRPCRaces.cpp => TestInterruptRaces.cpp} | 58 ++++---- .../{TestRPCRaces.h => TestInterruptRaces.h} | 36 ++--- ...Race.cpp => TestInterruptShutdownRace.cpp} | 40 ++--- ...downRace.h => TestInterruptShutdownRace.h} | 26 ++-- ipc/ipdl/test/cxx/TestRaceDeferral.cpp | 12 +- ipc/ipdl/test/cxx/TestRaceDeferral.h | 8 +- ...plies.cpp => TestRacyInterruptReplies.cpp} | 30 ++-- ...PCReplies.h => TestRacyInterruptReplies.h} | 26 ++-- ipc/ipdl/test/cxx/moz.build | 8 +- ipc/ipdl/test/ipdl/error/compressCtor.ipdl | 2 +- .../test/ipdl/error/compressCtorManagee.ipdl | 2 +- .../test/ipdl/error/intrMessageCompress.ipdl | 6 + .../test/ipdl/error/rpcMessageCompress.ipdl | 6 - .../test/ipdl/error/syncParentToChild.ipdl | 2 +- .../ipdl/error/tooWeakInterruptAsync.ipdl | 7 + ipc/ipdl/test/ipdl/error/tooWeakRPCAsync.ipdl | 7 - .../ipdl/error/trans_WrongDirection4.ipdl | 4 +- .../ipdl/error/trans_WrongDirection5.ipdl | 4 +- .../test/ipdl/error/trans_WrongName4.ipdl | 4 +- .../test/ipdl/error/trans_WrongName5.ipdl | 4 +- ipc/ipdl/test/ipdl/ok/intrProtocol.ipdl | 13 ++ ipc/ipdl/test/ipdl/ok/jetpackContent.ipdl | 2 +- ipc/ipdl/test/ipdl/ok/messageCompress.ipdl | 2 +- ipc/ipdl/test/ipdl/ok/plugin.ipdl | 2 +- ipc/ipdl/test/ipdl/ok/rpcProtocol.ipdl | 13 -- ipc/ipdl/test/ipdl/ok/shmem.ipdl | 4 +- ipc/testshell/PTestShell.ipdl | 2 +- js/ipc/PJavaScript.ipdl | 2 +- 88 files changed, 578 insertions(+), 576 deletions(-) rename ipc/ipdl/test/cxx/{PTestRPCErrorCleanup.ipdl => PTestInterruptErrorCleanup.ipdl} (54%) rename ipc/ipdl/test/cxx/{PTestRPCRaces.ipdl => PTestInterruptRaces.ipdl} (83%) rename ipc/ipdl/test/cxx/{PTestRPCShutdownRace.ipdl => PTestInterruptShutdownRace.ipdl} (89%) rename ipc/ipdl/test/cxx/{PTestRacyRPCReplies.ipdl => PTestRacyInterruptReplies.ipdl} (82%) rename ipc/ipdl/test/cxx/{TestRPCErrorCleanup.cpp => TestInterruptErrorCleanup.cpp} (75%) rename ipc/ipdl/test/cxx/{TestRPCErrorCleanup.h => TestInterruptErrorCleanup.h} (55%) rename ipc/ipdl/test/cxx/{TestRPCRaces.cpp => TestInterruptRaces.cpp} (68%) rename ipc/ipdl/test/cxx/{TestRPCRaces.h => TestInterruptRaces.h} (69%) rename ipc/ipdl/test/cxx/{TestRPCShutdownRace.cpp => TestInterruptShutdownRace.cpp} (66%) rename ipc/ipdl/test/cxx/{TestRPCShutdownRace.h => TestInterruptShutdownRace.h} (57%) rename ipc/ipdl/test/cxx/{TestRacyRPCReplies.cpp => TestRacyInterruptReplies.cpp} (68%) rename ipc/ipdl/test/cxx/{TestRacyRPCReplies.h => TestRacyInterruptReplies.h} (61%) create mode 100644 ipc/ipdl/test/ipdl/error/intrMessageCompress.ipdl delete mode 100644 ipc/ipdl/test/ipdl/error/rpcMessageCompress.ipdl create mode 100644 ipc/ipdl/test/ipdl/error/tooWeakInterruptAsync.ipdl delete mode 100644 ipc/ipdl/test/ipdl/error/tooWeakRPCAsync.ipdl create mode 100644 ipc/ipdl/test/ipdl/ok/intrProtocol.ipdl delete mode 100644 ipc/ipdl/test/ipdl/ok/rpcProtocol.ipdl diff --git a/content/media/webspeech/synth/ipc/PSpeechSynthesis.ipdl b/content/media/webspeech/synth/ipc/PSpeechSynthesis.ipdl index 75479a324c7f..1d896c1161e8 100644 --- a/content/media/webspeech/synth/ipc/PSpeechSynthesis.ipdl +++ b/content/media/webspeech/synth/ipc/PSpeechSynthesis.ipdl @@ -17,7 +17,7 @@ struct RemoteVoice { bool localService; }; -rpc protocol PSpeechSynthesis +intr protocol PSpeechSynthesis { manager PContent; manages PSpeechSynthesisRequest; diff --git a/content/media/webspeech/synth/ipc/PSpeechSynthesisRequest.ipdl b/content/media/webspeech/synth/ipc/PSpeechSynthesisRequest.ipdl index 204af38e02ef..5269d4789fdd 100644 --- a/content/media/webspeech/synth/ipc/PSpeechSynthesisRequest.ipdl +++ b/content/media/webspeech/synth/ipc/PSpeechSynthesisRequest.ipdl @@ -9,7 +9,7 @@ include protocol PSpeechSynthesis; namespace mozilla { namespace dom { -rpc protocol PSpeechSynthesisRequest +intr protocol PSpeechSynthesisRequest { manager PSpeechSynthesis; diff --git a/dom/ipc/PBrowser.ipdl b/dom/ipc/PBrowser.ipdl index 6d3639d20fc6..8fc3b3383420 100644 --- a/dom/ipc/PBrowser.ipdl +++ b/dom/ipc/PBrowser.ipdl @@ -58,7 +58,7 @@ using mozilla::CSSToScreenScale; namespace mozilla { namespace dom { -rpc protocol PBrowser +intr protocol PBrowser { manager PContent; @@ -81,7 +81,7 @@ parent: Event(RemoteDOMEvent aEvent); - rpc CreateWindow() returns (PBrowser window); + intr CreateWindow() returns (PBrowser window); sync SyncMessage(nsString aMessage, ClonedMessageData aData, CpowEntry[] aCpows) returns (nsString[] retval); diff --git a/dom/ipc/PContent.ipdl b/dom/ipc/PContent.ipdl index bed1599f09aa..2f1b42f3d70f 100644 --- a/dom/ipc/PContent.ipdl +++ b/dom/ipc/PContent.ipdl @@ -181,7 +181,7 @@ struct PrefSetting { MaybePrefValue userValue; }; -rpc protocol PContent +intr protocol PContent { parent opens PCompositor; parent opens PImageBridge; diff --git a/dom/ipc/PCrashReporter.ipdl b/dom/ipc/PCrashReporter.ipdl index 30de5075dbe5..b6372157f910 100644 --- a/dom/ipc/PCrashReporter.ipdl +++ b/dom/ipc/PCrashReporter.ipdl @@ -18,7 +18,7 @@ struct Mapping { size_t file_offset; }; -protocol PCrashReporter { +intr protocol PCrashReporter { manager PContent or PPluginModule; parent: AnnotateCrashReport(nsCString key, nsCString data); diff --git a/dom/plugins/ipc/COMMessageFilter.cpp b/dom/plugins/ipc/COMMessageFilter.cpp index 546d32181fbe..c50c94c21656 100644 --- a/dom/plugins/ipc/COMMessageFilter.cpp +++ b/dom/plugins/ipc/COMMessageFilter.cpp @@ -66,7 +66,7 @@ COMMessageFilter::MessagePending(HTASK htaskCallee, DWORD dwTickCount, DWORD dwPendingType) { - mPlugin->FlushPendingRPCQueue(); + mPlugin->FlushPendingInterruptQueue(); if (mPreviousFilter) return mPreviousFilter->MessagePending(htaskCallee, dwTickCount, dwPendingType); diff --git a/dom/plugins/ipc/PBrowserStream.ipdl b/dom/plugins/ipc/PBrowserStream.ipdl index e11d378d6415..53435a93489c 100644 --- a/dom/plugins/ipc/PBrowserStream.ipdl +++ b/dom/plugins/ipc/PBrowserStream.ipdl @@ -20,7 +20,7 @@ namespace plugins { * NPBrowserStream represents a NPStream sent from the browser to the plugin. */ -rpc protocol PBrowserStream +intr protocol PBrowserStream { manager PPluginInstance; @@ -37,7 +37,7 @@ child: async __delete__(); parent: - rpc NPN_RequestRead(IPCByteRanges ranges) + intr NPN_RequestRead(IPCByteRanges ranges) returns (NPError result); async NPN_DestroyStream(NPReason reason); async StreamDestroyed(); diff --git a/dom/plugins/ipc/PPluginInstance.ipdl b/dom/plugins/ipc/PPluginInstance.ipdl index d85e73f1b857..889794d0b505 100644 --- a/dom/plugins/ipc/PPluginInstance.ipdl +++ b/dom/plugins/ipc/PPluginInstance.ipdl @@ -76,7 +76,7 @@ struct NPRemoteAsyncSurface uintptr_t hostPtr; }; -rpc protocol PPluginInstance +intr protocol PPluginInstance { manager PPluginModule; @@ -88,34 +88,34 @@ rpc protocol PPluginInstance manages PPluginSurface; child: - rpc __delete__(); + intr __delete__(); - rpc NPP_SetWindow(NPRemoteWindow window); + intr NPP_SetWindow(NPRemoteWindow window); - rpc NPP_GetValue_NPPVpluginWantsAllNetworkStreams() + intr NPP_GetValue_NPPVpluginWantsAllNetworkStreams() returns (bool value, NPError result); // this message is not used on non-X platforms - rpc NPP_GetValue_NPPVpluginNeedsXEmbed() + intr NPP_GetValue_NPPVpluginNeedsXEmbed() returns (bool value, NPError result); - rpc NPP_GetValue_NPPVpluginScriptableNPObject() + intr NPP_GetValue_NPPVpluginScriptableNPObject() returns (nullable PPluginScriptableObject value, NPError result); - rpc NPP_SetValue_NPNVprivateModeBool(bool value) returns (NPError result); - rpc NPP_GetValue_NPPVpluginNativeAccessibleAtkPlugId() + intr NPP_SetValue_NPNVprivateModeBool(bool value) returns (NPError result); + intr NPP_GetValue_NPPVpluginNativeAccessibleAtkPlugId() returns (nsCString plug_id, NPError result); - rpc NPP_HandleEvent(NPRemoteEvent event) + intr NPP_HandleEvent(NPRemoteEvent event) returns (int16_t handled); // special cases where we need to a shared memory buffer - rpc NPP_HandleEvent_Shmem(NPRemoteEvent event, Shmem buffer) + intr NPP_HandleEvent_Shmem(NPRemoteEvent event, Shmem buffer) returns (int16_t handled, Shmem rtnbuffer); // special cases where we need an iosurface - rpc NPP_HandleEvent_IOSurface(NPRemoteEvent event, uint32_t surfaceid) + intr NPP_HandleEvent_IOSurface(NPRemoteEvent event, uint32_t surfaceid) returns (int16_t handled); // special cases of HandleEvent to make mediating races simpler - rpc Paint(NPRemoteEvent event) + intr Paint(NPRemoteEvent event) returns (int16_t handled); // this is only used on windows to forward WM_WINDOWPOSCHANGE async WindowPosChanged(NPRemoteEvent event); @@ -142,37 +142,37 @@ child: async NPP_DidComposite(); - rpc NPP_Destroy() + intr NPP_Destroy() returns (NPError rv); parent: - rpc NPN_GetValue_NPNVWindowNPObject() + intr NPN_GetValue_NPNVWindowNPObject() returns (nullable PPluginScriptableObject value, NPError result); - rpc NPN_GetValue_NPNVPluginElementNPObject() + intr NPN_GetValue_NPNVPluginElementNPObject() returns (nullable PPluginScriptableObject value, NPError result); - rpc NPN_GetValue_NPNVprivateModeBool() + intr NPN_GetValue_NPNVprivateModeBool() returns (bool value, NPError result); - rpc NPN_GetValue_NPNVnetscapeWindow() + intr NPN_GetValue_NPNVnetscapeWindow() returns (NativeWindowHandle value, NPError result); - rpc NPN_GetValue_NPNVdocumentOrigin() + intr NPN_GetValue_NPNVdocumentOrigin() returns (nsCString value, NPError result); - rpc NPN_GetValue_DrawingModelSupport(NPNVariable model) + intr NPN_GetValue_DrawingModelSupport(NPNVariable model) returns (bool value); - rpc NPN_SetValue_NPPVpluginWindow(bool windowed) + intr NPN_SetValue_NPPVpluginWindow(bool windowed) returns (NPError result); - rpc NPN_SetValue_NPPVpluginTransparent(bool transparent) + intr NPN_SetValue_NPPVpluginTransparent(bool transparent) returns (NPError result); - rpc NPN_SetValue_NPPVpluginUsesDOMForCursor(bool useDOMForCursor) + intr NPN_SetValue_NPPVpluginUsesDOMForCursor(bool useDOMForCursor) returns (NPError result); - rpc NPN_SetValue_NPPVpluginDrawingModel(int drawingModel) + intr NPN_SetValue_NPPVpluginDrawingModel(int drawingModel) returns (OptionalShmem remoteImageData, CrossProcessMutexHandle mutex, NPError result); - rpc NPN_SetValue_NPPVpluginEventModel(int eventModel) + intr NPN_SetValue_NPPVpluginEventModel(int eventModel) returns (NPError result); - rpc NPN_GetURL(nsCString url, nsCString target) + intr NPN_GetURL(nsCString url, nsCString target) returns (NPError result); - rpc NPN_PostURL(nsCString url, nsCString target, nsCString buffer, bool file) + intr NPN_PostURL(nsCString url, nsCString target, nsCString buffer, bool file) returns (NPError result); /** @@ -180,7 +180,7 @@ parent: * @TODO This would be more readable as an overloaded method, * but IPDL doesn't allow that for constructors. */ - rpc PStreamNotify(nsCString url, nsCString target, bool post, + intr PStreamNotify(nsCString url, nsCString target, bool post, nsCString buffer, bool file) returns (NPError result); @@ -202,29 +202,29 @@ parent: gfxIntSize size, bool transparent); - rpc NPN_PushPopupsEnabledState(bool aState); + intr NPN_PushPopupsEnabledState(bool aState); - rpc NPN_PopPopupsEnabledState(); + intr NPN_PopPopupsEnabledState(); - rpc NPN_GetValueForURL(NPNURLVariable variable, nsCString url) + intr NPN_GetValueForURL(NPNURLVariable variable, nsCString url) returns (nsCString value, NPError result); - rpc NPN_SetValueForURL(NPNURLVariable variable, nsCString url, + intr NPN_SetValueForURL(NPNURLVariable variable, nsCString url, nsCString value) returns (NPError result); - rpc NPN_GetAuthenticationInfo(nsCString protocol_, nsCString host, + intr NPN_GetAuthenticationInfo(nsCString protocol_, nsCString host, int32_t port, nsCString scheme, nsCString realm) returns (nsCString username, nsCString password, NPError result); - rpc NPN_ConvertPoint(double sourceX, bool ignoreDestX, double sourceY, bool ignoreDestY, NPCoordinateSpace sourceSpace, + intr NPN_ConvertPoint(double sourceX, bool ignoreDestX, double sourceY, bool ignoreDestY, NPCoordinateSpace sourceSpace, NPCoordinateSpace destSpace) returns (double destX, double destY, bool result); async RedrawPlugin(); - rpc NPN_InitAsyncSurface(gfxIntSize size, NPImageFormat format) + intr NPN_InitAsyncSurface(gfxIntSize size, NPImageFormat format) returns (NPRemoteAsyncSurface surfData, bool result); // Send notification that a plugin tried to negotiate Carbon NPAPI so that @@ -240,7 +240,7 @@ both: child: /* NPP_NewStream */ - rpc PBrowserStream(nsCString url, + intr PBrowserStream(nsCString url, uint32_t length, uint32_t lastmodified, nullable PStreamNotify notifyData, @@ -252,16 +252,16 @@ child: parent: /* NPN_NewStream */ - rpc PPluginStream(nsCString mimeType, + intr PPluginStream(nsCString mimeType, nsCString target) returns (NPError result); parent: - rpc PluginFocusChange(bool gotFocus); + intr PluginFocusChange(bool gotFocus); child: - rpc SetPluginFocus(); - rpc UpdateWindow(); + intr SetPluginFocus(); + intr UpdateWindow(); async PPluginBackgroundDestroyer(); }; diff --git a/dom/plugins/ipc/PPluginModule.ipdl b/dom/plugins/ipc/PPluginModule.ipdl index 2251679e3710..c8454452d4cb 100644 --- a/dom/plugins/ipc/PPluginModule.ipdl +++ b/dom/plugins/ipc/PPluginModule.ipdl @@ -21,7 +21,7 @@ using nsID; namespace mozilla { namespace plugins { -rpc protocol PPluginModule +intr protocol PPluginModule { manages PPluginInstance; manages PPluginIdentifier; @@ -37,41 +37,41 @@ both: * from leaking out to plugin code and only allow the child's to be used. * * When calling into the plugin, the parent may create a "temporary" - * identifier which is only valid for the lifetime of the current RPC frame. + * identifier which is only valid for the lifetime of the current inerrupt frame. */ async PPluginIdentifier(nsCString aString, int32_t aInt, bool temporary); - // Window-specific message which instructs the RPC mechanism to enter - // a nested event loop for the current RPC call. - async ProcessNativeEventsInRPCCall(); + // Window-specific message which instructs the interrupt mechanism to enter + // a nested event loop for the current interrupt call. + async ProcessNativeEventsInInterruptCall(); child: // Forces the child process to update its plugin function table. - rpc NP_GetEntryPoints() + intr NP_GetEntryPoints() returns (NPError rv); - rpc NP_Initialize(uint32_t aFlags) + intr NP_Initialize(uint32_t aFlags) returns (NPError rv); - rpc PPluginInstance(nsCString aMimeType, + intr PPluginInstance(nsCString aMimeType, uint16_t aMode, nsCString[] aNames, nsCString[] aValues) returns (NPError rv); - rpc NP_Shutdown() + intr NP_Shutdown() returns (NPError rv); - rpc OptionalFunctionsSupported() + intr OptionalFunctionsSupported() returns (bool aURLRedirectNotify, bool aClearSiteData, bool aGetSitesWithData); - rpc NPP_ClearSiteData(nsCString site, uint64_t flags, uint64_t maxAge) + intr NPP_ClearSiteData(nsCString site, uint64_t flags, uint64_t maxAge) returns (NPError rv); - rpc NPP_GetSitesWithData() + intr NPP_GetSitesWithData() returns (nsCString[] sites); // Windows specific message to set up an audio session in the plugin process @@ -81,10 +81,10 @@ child: async SetParentHangTimeout(uint32_t seconds); - rpc PCrashReporter() + intr PCrashReporter() returns (NativeThreadId tid, uint32_t processType); - rpc GeckoGetProfile() + intr GeckoGetProfile() returns (nsCString aProfile); parent: @@ -101,10 +101,10 @@ parent: */ async BackUpXResources(FileDescriptor aXSocketFd); - rpc NPN_UserAgent() + intr NPN_UserAgent() returns (nsCString userAgent); - rpc NPN_GetValue_WithBoolReturn(NPNVariable aVariable) + intr NPN_GetValue_WithBoolReturn(NPNVariable aVariable) returns (NPError aError, bool aBoolVal); @@ -112,7 +112,7 @@ parent: // Gtk-specific code upon detecting that the plugin process has // entered a nested event loop. If the browser doesn't process // native events, then "livelock" and some other glitches can occur. - rpc ProcessSomeEvents(); + intr ProcessSomeEvents(); // OS X Specific calls to manage the plugin's window // when interposing system calls. diff --git a/dom/plugins/ipc/PPluginScriptableObject.ipdl b/dom/plugins/ipc/PPluginScriptableObject.ipdl index c6726490ae39..f3ecb59aa6a3 100644 --- a/dom/plugins/ipc/PPluginScriptableObject.ipdl +++ b/dom/plugins/ipc/PPluginScriptableObject.ipdl @@ -26,7 +26,7 @@ union Variant { nullable PPluginScriptableObject; }; -rpc protocol PPluginScriptableObject +intr protocol PPluginScriptableObject { manager PPluginInstance; @@ -34,42 +34,42 @@ both: async __delete__(); parent: - rpc NPN_Evaluate(nsCString aScript) + intr NPN_Evaluate(nsCString aScript) returns (Variant aResult, bool aSuccess); child: - rpc Invalidate(); + intr Invalidate(); both: // NPClass methods - rpc HasMethod(PPluginIdentifier aId) + intr HasMethod(PPluginIdentifier aId) returns (bool aHasMethod); - rpc Invoke(PPluginIdentifier aId, + intr Invoke(PPluginIdentifier aId, Variant[] aArgs) returns (Variant aResult, bool aSuccess); - rpc InvokeDefault(Variant[] aArgs) + intr InvokeDefault(Variant[] aArgs) returns (Variant aResult, bool aSuccess); - rpc HasProperty(PPluginIdentifier aId) + intr HasProperty(PPluginIdentifier aId) returns (bool aHasProperty); - rpc SetProperty(PPluginIdentifier aId, + intr SetProperty(PPluginIdentifier aId, Variant aValue) returns (bool aSuccess); - rpc RemoveProperty(PPluginIdentifier aId) + intr RemoveProperty(PPluginIdentifier aId) returns (bool aSuccess); - rpc Enumerate() + intr Enumerate() returns (PPluginIdentifier[] aProperties, bool aSuccess); - rpc Construct(Variant[] aArgs) + intr Construct(Variant[] aArgs) returns (Variant aResult, bool aSuccess); @@ -90,12 +90,12 @@ both: * several checks at once and return all the results simultaneously. */ parent: - rpc GetParentProperty(PPluginIdentifier aId) + intr GetParentProperty(PPluginIdentifier aId) returns (Variant aResult, bool aSuccess); child: - rpc GetChildProperty(PPluginIdentifier aId) + intr GetChildProperty(PPluginIdentifier aId) returns (bool aHasProperty, bool aHasMethod, Variant aResult, diff --git a/dom/plugins/ipc/PPluginStream.ipdl b/dom/plugins/ipc/PPluginStream.ipdl index ef8678dceeb4..162f96af7e4a 100644 --- a/dom/plugins/ipc/PPluginStream.ipdl +++ b/dom/plugins/ipc/PPluginStream.ipdl @@ -18,12 +18,12 @@ namespace plugins { * PPluginStream represents an NPStream sent from the plugin to the browser. */ -rpc protocol PPluginStream +intr protocol PPluginStream { manager PPluginInstance; parent: - rpc NPN_Write(Buffer data) returns (int32_t written); + intr NPN_Write(Buffer data) returns (int32_t written); both: /** @@ -31,7 +31,7 @@ both: * @param artificial True when the stream is closed as a by-product of * some other call (such as a failure in NPN_Write). */ - rpc __delete__(NPReason reason, bool artificial); + intr __delete__(NPReason reason, bool artificial); }; } // namespace plugins diff --git a/dom/plugins/ipc/PStreamNotify.ipdl b/dom/plugins/ipc/PStreamNotify.ipdl index a9a986b77502..0ce06b8c90f4 100644 --- a/dom/plugins/ipc/PStreamNotify.ipdl +++ b/dom/plugins/ipc/PStreamNotify.ipdl @@ -13,7 +13,7 @@ using NPReason; namespace mozilla { namespace plugins { -rpc protocol PStreamNotify +intr protocol PStreamNotify { manager PPluginInstance; diff --git a/dom/plugins/ipc/PluginMessageUtils.cpp b/dom/plugins/ipc/PluginMessageUtils.cpp index 9da2821f682c..36f9d4382e73 100644 --- a/dom/plugins/ipc/PluginMessageUtils.cpp +++ b/dom/plugins/ipc/PluginMessageUtils.cpp @@ -67,7 +67,7 @@ NPRemoteWindow::NPRemoteWindow() : clipRect.right = 0; } -ipc::RacyRPCPolicy +ipc::RacyInterruptPolicy MediateRace(const MessageChannel::Message& parent, const MessageChannel::Message& child) { @@ -78,10 +78,10 @@ MediateRace(const MessageChannel::Message& parent, case PPluginInstance::Msg_NPP_HandleEvent_IOSurface__ID: // our code relies on the frame list not changing during paints and // reflows - return ipc::RRPParentWins; + return ipc::RIPParentWins; default: - return ipc::RRPChildWins; + return ipc::RIPChildWins; } } diff --git a/dom/plugins/ipc/PluginMessageUtils.h b/dom/plugins/ipc/PluginMessageUtils.h index 5e41dcc068fc..345f24f1283d 100644 --- a/dom/plugins/ipc/PluginMessageUtils.h +++ b/dom/plugins/ipc/PluginMessageUtils.h @@ -43,7 +43,7 @@ enum ScriptableObjectType Proxy }; -mozilla::ipc::RacyRPCPolicy +mozilla::ipc::RacyInterruptPolicy MediateRace(const mozilla::ipc::MessageChannel::Message& parent, const mozilla::ipc::MessageChannel::Message& child); diff --git a/dom/plugins/ipc/PluginModuleChild.cpp b/dom/plugins/ipc/PluginModuleChild.cpp index a9d71fd46379..03616f824119 100644 --- a/dom/plugins/ipc/PluginModuleChild.cpp +++ b/dom/plugins/ipc/PluginModuleChild.cpp @@ -583,7 +583,7 @@ PluginModuleChild::AnswerNP_Shutdown(NPError *rv) mozilla::widget::StopAudioSession(); #endif - // the PluginModuleParent shuts down this process after this RPC + // the PluginModuleParent shuts down this process after this interrupt // call pops off its stack *rv = mShutdownFunc ? mShutdownFunc() : NPERR_NO_ERROR; @@ -2350,7 +2350,7 @@ PluginModuleChild::NestedInputEventHook(int nCode, WPARAM wParam, LPARAM lParam) uint32_t len = self->mIncallPumpingStack.Length(); if (nCode >= 0 && len && !self->mIncallPumpingStack[len - 1]._spinning) { MessageLoop* loop = MessageLoop::current(); - self->SendProcessNativeEventsInRPCCall(); + self->SendProcessNativeEventsInInterruptCall(); IncallFrame& f = self->mIncallPumpingStack[len - 1]; f._spinning = true; f._savedNestableTasksAllowed = loop->NestableTasksAllowed(); @@ -2399,15 +2399,15 @@ PluginModuleChild::ResetEventHooks() #endif bool -PluginModuleChild::RecvProcessNativeEventsInRPCCall() +PluginModuleChild::RecvProcessNativeEventsInInterruptCall() { PLUGIN_LOG_DEBUG(("%s", FULLFUNCTION)); #if defined(OS_WIN) - ProcessNativeEventsInRPCCall(); + ProcessNativeEventsInInterruptCall(); return true; #else NS_RUNTIMEABORT( - "PluginModuleChild::RecvProcessNativeEventsInRPCCall not implemented!"); + "PluginModuleChild::RecvProcessNativeEventsInInterruptCall not implemented!"); return false; #endif } diff --git a/dom/plugins/ipc/PluginModuleChild.h b/dom/plugins/ipc/PluginModuleChild.h index a567500793a5..a2685766c4c9 100644 --- a/dom/plugins/ipc/PluginModuleChild.h +++ b/dom/plugins/ipc/PluginModuleChild.h @@ -74,8 +74,8 @@ class PluginModuleChild : public PPluginModuleChild { typedef mozilla::dom::PCrashReporterChild PCrashReporterChild; protected: - virtual mozilla::ipc::RacyRPCPolicy - MediateRPCRace(const Message& parent, const Message& child) MOZ_OVERRIDE + virtual mozilla::ipc::RacyInterruptPolicy + MediateInterruptRace(const Message& parent, const Message& child) MOZ_OVERRIDE { return MediateRace(parent, child); } @@ -158,7 +158,7 @@ protected: MOZ_NORETURN void QuickExit(); virtual bool - RecvProcessNativeEventsInRPCCall() MOZ_OVERRIDE; + RecvProcessNativeEventsInInterruptCall() MOZ_OVERRIDE; virtual bool AnswerGeckoGetProfile(nsCString* aProfile); @@ -431,7 +431,7 @@ private: virtual void ExitedCall() MOZ_OVERRIDE; // Entered/ExitedCall notifications keep track of whether the plugin has - // entered a nested event loop within this RPC call. + // entered a nested event loop within this interrupt call. struct IncallFrame { IncallFrame() diff --git a/dom/plugins/ipc/PluginModuleParent.cpp b/dom/plugins/ipc/PluginModuleParent.cpp index d36c0c267dc7..696679e66413 100755 --- a/dom/plugins/ipc/PluginModuleParent.cpp +++ b/dom/plugins/ipc/PluginModuleParent.cpp @@ -1241,7 +1241,7 @@ PluginModuleParent::NP_Shutdown(NPError* error) bool ok = CallNP_Shutdown(error); - // if NP_Shutdown() is nested within another RPC call, this will + // if NP_Shutdown() is nested within another interrupt call, this will // break things. but lord help us if we're doing that anyway; the // plugin dso will have been unloaded on the other side by the // CallNP_Shutdown() message @@ -1466,28 +1466,28 @@ PluginModuleParent::AnswerProcessSomeEvents() #endif bool -PluginModuleParent::RecvProcessNativeEventsInRPCCall() +PluginModuleParent::RecvProcessNativeEventsInInterruptCall() { PLUGIN_LOG_DEBUG(("%s", FULLFUNCTION)); #if defined(OS_WIN) - ProcessNativeEventsInRPCCall(); + ProcessNativeEventsInInterruptCall(); return true; #else NS_NOTREACHED( - "PluginModuleParent::RecvProcessNativeEventsInRPCCall not implemented!"); + "PluginModuleParent::RecvProcessNativeEventsInInterruptCall not implemented!"); return false; #endif } void -PluginModuleParent::ProcessRemoteNativeEventsInRPCCall() +PluginModuleParent::ProcessRemoteNativeEventsInInterruptCall() { #if defined(OS_WIN) - unused << SendProcessNativeEventsInRPCCall(); + unused << SendProcessNativeEventsInInterruptCall(); return; #endif NS_NOTREACHED( - "PluginModuleParent::ProcessRemoteNativeEventsInRPCCall not implemented!"); + "PluginModuleParent::ProcessRemoteNativeEventsInInterruptCall not implemented!"); } bool diff --git a/dom/plugins/ipc/PluginModuleParent.h b/dom/plugins/ipc/PluginModuleParent.h index 977e85aeb51d..040b72235b63 100644 --- a/dom/plugins/ipc/PluginModuleParent.h +++ b/dom/plugins/ipc/PluginModuleParent.h @@ -124,7 +124,7 @@ public: PluginIdentifierParent* GetIdentifierForNPIdentifier(NPP npp, NPIdentifier aIdentifier); - void ProcessRemoteNativeEventsInRPCCall(); + void ProcessRemoteNativeEventsInInterruptCall(); void TerminateChildProcess(MessageLoop* aMsgLoop); @@ -134,8 +134,8 @@ public: #endif // XP_WIN protected: - virtual mozilla::ipc::RacyRPCPolicy - MediateRPCRace(const Message& parent, const Message& child) MOZ_OVERRIDE + virtual mozilla::ipc::RacyInterruptPolicy + MediateInterruptRace(const Message& parent, const Message& child) MOZ_OVERRIDE { return MediateRace(parent, child); } @@ -158,7 +158,7 @@ protected: virtual bool AnswerProcessSomeEvents() MOZ_OVERRIDE; virtual bool - RecvProcessNativeEventsInRPCCall() MOZ_OVERRIDE; + RecvProcessNativeEventsInInterruptCall() MOZ_OVERRIDE; virtual bool RecvPluginShowWindow(const uint32_t& aWindowId, const bool& aModal, diff --git a/gfx/layers/ipc/PCompositor.ipdl b/gfx/layers/ipc/PCompositor.ipdl index 72e971c60e91..e8bf33dc3a62 100644 --- a/gfx/layers/ipc/PCompositor.ipdl +++ b/gfx/layers/ipc/PCompositor.ipdl @@ -26,7 +26,7 @@ namespace layers { */ // This should really be 'sync', but we're using 'rpc' as a workaround // for Bug 716631. -rpc protocol PCompositor +intr protocol PCompositor { // A Compositor manages a single Layer Manager (PLayerTransaction) manages PLayerTransaction; diff --git a/gfx/layers/ipc/PImageBridge.ipdl b/gfx/layers/ipc/PImageBridge.ipdl index 6b5a50a38d96..664568e987a0 100644 --- a/gfx/layers/ipc/PImageBridge.ipdl +++ b/gfx/layers/ipc/PImageBridge.ipdl @@ -23,7 +23,7 @@ namespace layers { * frames directly to the compositor thread/process without relying on the main thread * which might be too busy dealing with content script. */ -/*FIXME: sync*/ rpc protocol PImageBridge +intr protocol PImageBridge { manages PCompositable; manages PGrallocBuffer; diff --git a/ipc/chromium/src/chrome/common/ipc_message.cc b/ipc/chromium/src/chrome/common/ipc_message.cc index 03a39c6fe8b1..a76b5311d1f6 100644 --- a/ipc/chromium/src/chrome/common/ipc_message.cc +++ b/ipc/chromium/src/chrome/common/ipc_message.cc @@ -38,8 +38,8 @@ Message::Message(int32_t routing_id, msgid_t type, PriorityValue priority, #if defined(OS_POSIX) header()->num_fds = 0; #endif - header()->rpc_remote_stack_depth_guess = static_cast(-1); - header()->rpc_local_stack_depth = static_cast(-1); + header()->interrupt_remote_stack_depth_guess = static_cast(-1); + header()->interrupt_local_stack_depth = static_cast(-1); header()->seqno = 0; #if defined(OS_MACOSX) header()->cookie = 0; diff --git a/ipc/chromium/src/chrome/common/ipc_message.h b/ipc/chromium/src/chrome/common/ipc_message.h index be880abfaeb0..6496f60bf534 100644 --- a/ipc/chromium/src/chrome/common/ipc_message.h +++ b/ipc/chromium/src/chrome/common/ipc_message.h @@ -87,8 +87,8 @@ class Message : public Pickle { } // True if this is a synchronous message. - bool is_rpc() const { - return (header()->flags & RPC_BIT) != 0; + bool is_interrupt() const { + return (header()->flags & INTERRUPT_BIT) != 0; } // True if this is an urgent message. @@ -153,22 +153,22 @@ class Message : public Pickle { header()->routing = new_id; } - uint32_t rpc_remote_stack_depth_guess() const { - return header()->rpc_remote_stack_depth_guess; + uint32_t interrupt_remote_stack_depth_guess() const { + return header()->interrupt_remote_stack_depth_guess; } - void set_rpc_remote_stack_depth_guess(uint32_t depth) { - DCHECK(is_rpc()); - header()->rpc_remote_stack_depth_guess = depth; + void set_interrupt_remote_stack_depth_guess(uint32_t depth) { + DCHECK(is_interrupt()); + header()->interrupt_remote_stack_depth_guess = depth; } - uint32_t rpc_local_stack_depth() const { - return header()->rpc_local_stack_depth; + uint32_t interrupt_local_stack_depth() const { + return header()->interrupt_local_stack_depth; } - void set_rpc_local_stack_depth(uint32_t depth) { - DCHECK(is_rpc()); - header()->rpc_local_stack_depth = depth; + void set_interrupt_local_stack_depth(uint32_t depth) { + DCHECK(is_interrupt()); + header()->interrupt_local_stack_depth = depth; } int32_t seqno() const { @@ -271,8 +271,8 @@ class Message : public Pickle { header()->flags |= SYNC_BIT; } - void set_rpc() { - header()->flags |= RPC_BIT; + void set_interrupt() { + header()->flags |= INTERRUPT_BIT; } void set_urgent() { @@ -292,7 +292,7 @@ class Message : public Pickle { UNBLOCK_BIT = 0x0020, PUMPING_MSGS_BIT= 0x0040, HAS_SENT_TIME_BIT = 0x0080, - RPC_BIT = 0x0100, + INTERRUPT_BIT = 0x0100, COMPRESS_BIT = 0x0200, URGENT_BIT = 0x0400 }; @@ -308,9 +308,9 @@ class Message : public Pickle { # endif #endif // For RPC messages, a guess at what the *other* side's stack depth is. - uint32_t rpc_remote_stack_depth_guess; + uint32_t interrupt_remote_stack_depth_guess; // The actual local stack depth. - uint32_t rpc_local_stack_depth; + uint32_t interrupt_local_stack_depth; // Sequence number int32_t seqno; }; diff --git a/ipc/glue/MessageChannel.cpp b/ipc/glue/MessageChannel.cpp index 30f9bf44993b..376095b652b8 100644 --- a/ipc/glue/MessageChannel.cpp +++ b/ipc/glue/MessageChannel.cpp @@ -53,7 +53,7 @@ MessageChannel::MessageChannel(MessageListener *aListener) mPendingUrgentReplies(0), mDispatchingSyncMessage(false), mRemoteStackDepthGuess(false), - mSawRPCOutMsg(false) + mSawInterruptOutMsg(false) { MOZ_COUNT_CTOR(ipc::MessageChannel); @@ -270,7 +270,7 @@ MessageChannel::OnMessageReceivedFromLink(const Message& aMsg) if (MaybeInterceptSpecialIOMessage(aMsg)) return; - // Regardless of the RPC stack, if we're awaiting a sync or urgent reply, + // Regardless of the Interrupt stack, if we're awaiting a sync or urgent reply, // we know that it needs to be immediately handled to unblock us. if ((AwaitingSyncReply() && aMsg.is_sync()) || (AwaitingUrgentReply() && aMsg.is_urgent())) @@ -310,7 +310,7 @@ MessageChannel::OnMessageReceivedFromLink(const Message& aMsg) // posting a task to the main event loop, where it will be processed // once the synchronous reply has been received. // - // (2) We are waiting on an RPC reply - main thread is blocked on the IPC monitor. + // (2) We are waiting on an Interrupt reply - main thread is blocked on the IPC monitor. // - Always notify and wake up the main thread. // // (3) We are not waiting on a reply. @@ -320,13 +320,13 @@ MessageChannel::OnMessageReceivedFromLink(const Message& aMsg) // blocked. This is okay, since we always check for pending events before // blocking again. // - if (AwaitingRPCReply() || (AwaitingSyncReply() && aMsg.is_urgent())) { - // Always wake up our RPC waiter, and wake up sync waiters for urgent + if (AwaitingInterruptReply() || (AwaitingSyncReply() && aMsg.is_urgent())) { + // Always wake up our Interrupt waiter, and wake up sync waiters for urgent // messages. NotifyWorkerThread(); } else { // Worker thread is either not blocked on a reply, or this is an - // incoming RPC that raced with outgoing sync, and needs to be + // incoming Interrupt that raced with outgoing sync, and needs to be // deferred to a later event-loop iteration. if (!compress) { // If we compressed away the previous message, we'll re-use @@ -357,7 +357,7 @@ MessageChannel::Send(Message* aMsg, Message* aReply) if (AwaitingSyncReply()) { // This is a temporary hack in place, for e10s CPOWs, until bug 901789 - // and the new followup RPC protocol land. Eventually this will become + // and the new followup Interrupt protocol land. Eventually this will become // an assert again. See bug 900062 for details. NS_ERROR("Nested sync messages are not supported"); return false; @@ -390,7 +390,7 @@ MessageChannel::UrgentCall(Message* aMsg, Message* aReply) // At the moment, we don't allow urgent outcalls to nest, though this will // change soon. IPC_ASSERT(!AwaitingUrgentReply(), "urgent calls cannot nest"); - IPC_ASSERT(!AwaitingRPCReply(), "urgent calls cannot be issued within RPC calls"); + IPC_ASSERT(!AwaitingInterruptReply(), "urgent calls cannot be issued within Interrupt calls"); IPC_ASSERT(!AwaitingSyncReply(), "urgent calls cannot be issued within sync sends"); AutoEnterPendingReply replies(mPendingUrgentReplies); @@ -485,11 +485,11 @@ MessageChannel::Call(Message* aMsg, Message* aReply) { if (aMsg->is_urgent()) return UrgentCall(aMsg, aReply); - return RPCCall(aMsg, aReply); + return InterruptCall(aMsg, aReply); } bool -MessageChannel::RPCCall(Message* aMsg, Message* aReply) +MessageChannel::InterruptCall(Message* aMsg, Message* aReply) { AssertWorkerThread(); mMonitor->AssertNotCurrentThreadOwns(); @@ -511,18 +511,18 @@ MessageChannel::RPCCall(Message* aMsg, Message* aReply) // Sanity checks. IPC_ASSERT(!AwaitingSyncReply() && !AwaitingUrgentReply(), - "cannot issue RPC call whiel blocked on sync or urgent"); + "cannot issue Interrupt call whiel blocked on sync or urgent"); IPC_ASSERT(!DispatchingSyncMessage() || aMsg->priority() == IPC::Message::PRIORITY_HIGH, "violation of sync handler invariant"); - IPC_ASSERT(aMsg->is_rpc(), "can only Call() RPC messages here"); + IPC_ASSERT(aMsg->is_interrupt(), "can only Call() Interrupt messages here"); nsAutoPtr msg(aMsg); msg->set_seqno(NextSeqno()); - msg->set_rpc_remote_stack_depth_guess(mRemoteStackDepthGuess); - msg->set_rpc_local_stack_depth(1 + RPCStackDepth()); - mRPCStack.push(*msg); + msg->set_interrupt_remote_stack_depth_guess(mRemoteStackDepthGuess); + msg->set_interrupt_local_stack_depth(1 + InterruptStackDepth()); + mInterruptStack.push(*msg); mLink->SendMessage(msg.forget()); while (true) { @@ -532,7 +532,7 @@ MessageChannel::RPCCall(Message* aMsg, Message* aReply) // trying another loop iteration will be futile because // channel state will have been cleared if (!Connected()) { - ReportConnectionError("MessageChannel::RPCCall"); + ReportConnectionError("MessageChannel::InterruptCall"); return false; } @@ -541,12 +541,12 @@ MessageChannel::RPCCall(Message* aMsg, Message* aReply) MaybeUndeferIncall(); // Wait for an event to occur. - while (!RPCEventOccurred()) { - bool maybeTimedOut = !WaitForRPCNotify(); + while (!InterruptEventOccurred()) { + bool maybeTimedOut = !WaitForInterruptNotify(); // We might have received a "subtly deferred" message in a nested // loop that it's now time to process. - if (RPCEventOccurred() || + if (InterruptEventOccurred() || (!maybeTimedOut && (!mDeferred.empty() || !mOutOfTurnReplies.empty()))) { break; @@ -562,7 +562,7 @@ MessageChannel::RPCCall(Message* aMsg, Message* aReply) if (mPendingUrgentRequest) { recvd = *mPendingUrgentRequest; mPendingUrgentRequest = nullptr; - } else if ((it = mOutOfTurnReplies.find(mRPCStack.top().seqno())) + } else if ((it = mOutOfTurnReplies.find(mInterruptStack.top().seqno())) != mOutOfTurnReplies.end()) { recvd = it->second; @@ -579,8 +579,8 @@ MessageChannel::RPCCall(Message* aMsg, Message* aReply) continue; } - // If the message is not RPC, we can dispatch it as normal. - if (!recvd.is_rpc()) { + // If the message is not Interrupt, we can dispatch it as normal. + if (!recvd.is_interrupt()) { // Other side should be blocked. IPC_ASSERT(!recvd.is_sync() || mPending.empty(), "other side should be blocked"); @@ -596,15 +596,15 @@ MessageChannel::RPCCall(Message* aMsg, Message* aReply) continue; } - // If the message is an RPC reply, either process it as a reply to our + // If the message is an Interrupt reply, either process it as a reply to our // call, or add it to the list of out-of-turn replies we've received. if (recvd.is_reply()) { - IPC_ASSERT(!mRPCStack.empty(), "invalid RPC stack"); + IPC_ASSERT(!mInterruptStack.empty(), "invalid Interrupt stack"); // If this is not a reply the call we've initiated, add it to our // out-of-turn replies and keep polling for events. { - const Message &outcall = mRPCStack.top(); + const Message &outcall = mInterruptStack.top(); // Note, In the parent, sequence numbers increase from 0, and // in the child, they decrease from 0. @@ -623,7 +623,7 @@ MessageChannel::RPCCall(Message* aMsg, Message* aReply) // We received a reply to our most recent outstanding call. Pop // this frame and return the reply. - mRPCStack.pop(); + mInterruptStack.pop(); if (!recvd.is_reply_error()) { *aReply = recvd; @@ -631,24 +631,24 @@ MessageChannel::RPCCall(Message* aMsg, Message* aReply) // If we have no more pending out calls waiting on replies, then // the reply queue should be empty. - IPC_ASSERT(!mRPCStack.empty() || mOutOfTurnReplies.empty(), + IPC_ASSERT(!mInterruptStack.empty() || mOutOfTurnReplies.empty(), "still have pending replies with no pending out-calls", true); return !recvd.is_reply_error(); } - // Dispatch an RPC in-call. Snapshot the current stack depth while we + // Dispatch an Interrupt in-call. Snapshot the current stack depth while we // own the monitor. - size_t stackDepth = RPCStackDepth(); + size_t stackDepth = InterruptStackDepth(); { MonitorAutoUnlock unlock(*mMonitor); CxxStackFrame frame(*this, IN_MESSAGE, &recvd); - DispatchRPCMessage(recvd, stackDepth); + DispatchInterruptMessage(recvd, stackDepth); } if (!Connected()) { - ReportConnectionError("MessageChannel::DispatchRPCMessage"); + ReportConnectionError("MessageChannel::DispatchInterruptMessage"); return false; } } @@ -657,17 +657,17 @@ MessageChannel::RPCCall(Message* aMsg, Message* aReply) } bool -MessageChannel::RPCEventOccurred() +MessageChannel::InterruptEventOccurred() { AssertWorkerThread(); mMonitor->AssertCurrentThreadOwns(); - IPC_ASSERT(RPCStackDepth() > 0, "not in wait loop"); + IPC_ASSERT(InterruptStackDepth() > 0, "not in wait loop"); return (!Connected() || !mPending.empty() || mPendingUrgentRequest || (!mOutOfTurnReplies.empty() && - mOutOfTurnReplies.find(mRPCStack.top().seqno()) != + mOutOfTurnReplies.find(mInterruptStack.top().seqno()) != mOutOfTurnReplies.end())); } @@ -702,9 +702,9 @@ MessageChannel::OnMaybeDequeueOne() mPending.pop_front(); } while (0); - if (IsOnCxxStack() && recvd.is_rpc() && recvd.is_reply()) { + if (IsOnCxxStack() && recvd.is_interrupt() && recvd.is_reply()) { // We probably just received a reply in a nested loop for an - // RPC call sent before entering that loop. + // Interrupt call sent before entering that loop. mOutOfTurnReplies[recvd.seqno()] = recvd; return false; } @@ -721,8 +721,8 @@ MessageChannel::DispatchMessage(const Message &aMsg) DispatchSyncMessage(aMsg); else if (aMsg.is_urgent()) DispatchUrgentMessage(aMsg); - else if (aMsg.is_rpc()) - DispatchRPCMessage(aMsg, 0); + else if (aMsg.is_interrupt()) + DispatchInterruptMessage(aMsg, 0); else DispatchAsyncMessage(aMsg); } @@ -778,7 +778,7 @@ void MessageChannel::DispatchAsyncMessage(const Message& aMsg) { AssertWorkerThread(); - MOZ_ASSERT(!aMsg.is_rpc() && !aMsg.is_sync() && !aMsg.is_urgent()); + MOZ_ASSERT(!aMsg.is_interrupt() && !aMsg.is_sync() && !aMsg.is_urgent()); if (aMsg.routing_id() == MSG_ROUTING_NONE) { NS_RUNTIMEABORT("unhandled special message!"); @@ -788,34 +788,34 @@ MessageChannel::DispatchAsyncMessage(const Message& aMsg) } void -MessageChannel::DispatchRPCMessage(const Message& aMsg, size_t stackDepth) +MessageChannel::DispatchInterruptMessage(const Message& aMsg, size_t stackDepth) { AssertWorkerThread(); mMonitor->AssertNotCurrentThreadOwns(); - IPC_ASSERT(aMsg.is_rpc() && !aMsg.is_reply(), "wrong message type"); + IPC_ASSERT(aMsg.is_interrupt() && !aMsg.is_reply(), "wrong message type"); // Race detection: see the long comment near mRemoteStackDepthGuess in - // RPCChannel.h. "Remote" stack depth means our side, and "local" means + // MessageChannel.h. "Remote" stack depth means our side, and "local" means // the other side. - if (aMsg.rpc_remote_stack_depth_guess() != RemoteViewOfStackDepth(stackDepth)) { - // RPC in-calls have raced. The winner, if there is one, gets to defer + if (aMsg.interrupt_remote_stack_depth_guess() != RemoteViewOfStackDepth(stackDepth)) { + // Interrupt in-calls have raced. The winner, if there is one, gets to defer // processing of the other side's in-call. bool defer; const char* winner; - switch (mListener->MediateRPCRace((mSide == ChildSide) ? aMsg : mRPCStack.top(), - (mSide != ChildSide) ? mRPCStack.top() : aMsg)) + switch (mListener->MediateInterruptRace((mSide == ChildSide) ? aMsg : mInterruptStack.top(), + (mSide != ChildSide) ? mInterruptStack.top() : aMsg)) { - case RRPChildWins: + case RIPChildWins: winner = "child"; defer = (mSide == ChildSide); break; - case RRPParentWins: + case RIPParentWins: winner = "parent"; defer = (mSide != ChildSide); break; - case RRPError: - NS_RUNTIMEABORT("NYI: 'Error' RPC race policy"); + case RIPError: + NS_RUNTIMEABORT("NYI: 'Error' Interrupt race policy"); return; default: NS_RUNTIMEABORT("not reached"); @@ -852,10 +852,10 @@ MessageChannel::DispatchRPCMessage(const Message& aMsg, size_t stackDepth) Result rv = mListener->OnCallReceived(aMsg, reply); --mRemoteStackDepthGuess; - if (!MaybeHandleError(rv, "DispatchRPCMessage")) { + if (!MaybeHandleError(rv, "DispatchInterruptMessage")) { delete reply; reply = new Message(); - reply->set_rpc(); + reply->set_interrupt(); reply->set_reply(); reply->set_reply_error(); } @@ -875,13 +875,13 @@ MessageChannel::MaybeUndeferIncall() if (mDeferred.empty()) return; - size_t stackDepth = RPCStackDepth(); + size_t stackDepth = InterruptStackDepth(); // the other side can only *under*-estimate our actual stack depth - IPC_ASSERT(mDeferred.top().rpc_remote_stack_depth_guess() <= stackDepth, + IPC_ASSERT(mDeferred.top().interrupt_remote_stack_depth_guess() <= stackDepth, "fatal logic error"); - if (mDeferred.top().rpc_remote_stack_depth_guess() < RemoteViewOfStackDepth(stackDepth)) + if (mDeferred.top().interrupt_remote_stack_depth_guess() < RemoteViewOfStackDepth(stackDepth)) return; // maybe time to process this message @@ -896,7 +896,7 @@ MessageChannel::MaybeUndeferIncall() } void -MessageChannel::FlushPendingRPCQueue() +MessageChannel::FlushPendingInterruptQueue() { AssertWorkerThread(); mMonitor->AssertNotCurrentThreadOwns(); @@ -909,7 +909,7 @@ MessageChannel::FlushPendingRPCQueue() return; const Message& last = mPending.back(); - if (!last.is_rpc() || last.is_reply()) + if (!last.is_interrupt() || last.is_reply()) return; } } @@ -921,11 +921,11 @@ void MessageChannel::ExitedCxxStack() { mListener->OnExitedCxxStack(); - if (mSawRPCOutMsg) { + if (mSawInterruptOutMsg) { MonitorAutoLock lock(*mMonitor); // see long comment in OnMaybeDequeueOne() EnqueuePendingMessages(); - mSawRPCOutMsg = false; + mSawInterruptOutMsg = false; } } @@ -990,7 +990,7 @@ MessageChannel::WaitForSyncNotify() } bool -MessageChannel::WaitForRPCNotify() +MessageChannel::WaitForInterruptNotify() { return WaitForSyncNotify(); } @@ -1030,8 +1030,8 @@ MessageChannel::ShouldContinueFromTimeout() // tasks arriving from the child, posted to the worker thread's event // loop. This would complicate cleanup of the *Channel. But since // IPDL forbids this (and since it doesn't support children timing out - // on parents), the parent can only block on RPC messages to the child, - // and in that case arriving async messages are enqueued to the RPC + // on parents), the parent can only block on interrupt messages to the child, + // and in that case arriving async messages are enqueued to the interrupt // channel's special queue. They're then ignored because the channel // state changes to ChannelTimeout (i.e. !Connected). SynchronouslyClose(); @@ -1154,7 +1154,7 @@ MessageChannel::OnChannelErrorFromLink() AssertLinkThread(); mMonitor->AssertCurrentThreadOwns(); - if (RPCStackDepth() > 0) + if (InterruptStackDepth() > 0) NotifyWorkerThread(); if (AwaitingSyncReply()) @@ -1327,19 +1327,19 @@ MessageChannel::DebugAbort(const char* file, int line, const char* cond, const char* why, bool reply) const { - printf_stderr("###!!! [RPCChannel][%s][%s:%d] " + printf_stderr("###!!! [MessageChannel][%s][%s:%d] " "Assertion (%s) failed. %s %s\n", mSide == ChildSide ? "Child" : "Parent", file, line, cond, why, reply ? "(reply)" : ""); // technically we need the mutex for this, but we're dying anyway - DumpRPCStack(" "); - printf_stderr(" remote RPC stack guess: %lu\n", + DumpInterruptStack(" "); + printf_stderr(" remote Interrupt stack guess: %lu\n", mRemoteStackDepthGuess); printf_stderr(" deferred stack size: %lu\n", mDeferred.size()); - printf_stderr(" out-of-turn RPC replies stack size: %lu\n", + printf_stderr(" out-of-turn Interrupt replies stack size: %lu\n", mOutOfTurnReplies.size()); printf_stderr(" Pending queue size: %lu, front to back:\n", mPending.size()); @@ -1347,7 +1347,7 @@ MessageChannel::DebugAbort(const char* file, int line, const char* cond, MessageQueue pending = mPending; while (!pending.empty()) { printf_stderr(" [ %s%s ]\n", - pending.front().is_rpc() ? "rpc" : + pending.front().is_interrupt() ? "intr" : (pending.front().is_sync() ? "sync" : "async"), pending.front().is_reply() ? "reply" : ""); pending.pop_front(); @@ -1357,12 +1357,12 @@ MessageChannel::DebugAbort(const char* file, int line, const char* cond, } void -MessageChannel::DumpRPCStack(const char* const pfx) const +MessageChannel::DumpInterruptStack(const char* const pfx) const { NS_WARN_IF_FALSE(MessageLoop::current() != mWorkerLoop, "The worker thread had better be paused in a debugger!"); - printf_stderr("%sRPCChannel 'backtrace':\n", pfx); + printf_stderr("%sMessageChannel 'backtrace':\n", pfx); // print a python-style backtrace, first frame to last for (uint32_t i = 0; i < mCxxStackFrames.size(); ++i) { diff --git a/ipc/glue/MessageChannel.h b/ipc/glue/MessageChannel.h index 36c608d00c43..0f9cf05115e7 100644 --- a/ipc/glue/MessageChannel.h +++ b/ipc/glue/MessageChannel.h @@ -88,7 +88,7 @@ class MessageChannel : HasResultCodes // Synchronously send |msg| (i.e., wait for |reply|) bool Send(Message* aMsg, Message* aReply); - // Make an RPC to the other side of the channel + // Make an Interrupt call to the other side of the channel bool Call(Message* aMsg, Message* aReply); void SetReplyTimeoutMs(int32_t aTimeoutMs); @@ -97,7 +97,7 @@ class MessageChannel : HasResultCodes return !mCxxStackFrames.empty(); } - void FlushPendingRPCQueue(); + void FlushPendingInterruptQueue(); // Unsound_IsClosed and Unsound_NumQueuedMessages are safe to call from any // thread, but they make no guarantees about whether you'll get an @@ -122,10 +122,10 @@ class MessageChannel : HasResultCodes #ifdef OS_WIN struct MOZ_STACK_CLASS SyncStackFrame { - SyncStackFrame(MessageChannel* channel, bool rpc); + SyncStackFrame(MessageChannel* channel, bool interrupt); ~SyncStackFrame(); - bool mRPC; + bool mInterrupt; bool mSpinNestedEvents; bool mListenerNotified; MessageChannel* mChannel; @@ -154,7 +154,7 @@ class MessageChannel : HasResultCodes static SyncStackFrame* sStaticTopFrame; public: - void ProcessNativeEventsInRPCCall(); + void ProcessNativeEventsInInterruptCall(); static void NotifyGeckoEventDispatch(); private: @@ -189,10 +189,10 @@ class MessageChannel : HasResultCodes // up to process urgent calls from the parent. bool SendAndWait(Message* aMsg, Message* aReply); - bool RPCCall(Message* aMsg, Message* aReply); + bool InterruptCall(Message* aMsg, Message* aReply); bool UrgentCall(Message* aMsg, Message* aReply); - bool RPCEventOccurred(); + bool InterruptEventOccurred(); void MaybeUndeferIncall(); void EnqueuePendingMessages(); @@ -208,7 +208,7 @@ class MessageChannel : HasResultCodes void DispatchSyncMessage(const Message &aMsg); void DispatchUrgentMessage(const Message &aMsg); void DispatchAsyncMessage(const Message &aMsg); - void DispatchRPCMessage(const Message &aMsg, size_t aStackDepth); + void DispatchInterruptMessage(const Message &aMsg, size_t aStackDepth); // Return true if the wait ended because a notification was received. // @@ -221,7 +221,7 @@ class MessageChannel : HasResultCodes // So in sum: true is a meaningful return value; false isn't, // necessarily. bool WaitForSyncNotify(); - bool WaitForRPCNotify(); + bool WaitForInterruptNotify(); bool WaitResponse(bool aWaitTimedOut); @@ -229,7 +229,7 @@ class MessageChannel : HasResultCodes // The "remote view of stack depth" can be different than the // actual stack depth when there are out-of-turn replies. When we - // receive one, our actual RPC stack depth doesn't decrease, but + // receive one, our actual Interrupt stack depth doesn't decrease, but // the other side (that sent the reply) thinks it has. So, the // "view" returned here is |stackDepth| minus the number of // out-of-turn replies. @@ -247,8 +247,7 @@ class MessageChannel : HasResultCodes // This helper class manages mCxxStackDepth on behalf of MessageChannel. // When the stack depth is incremented from zero to non-zero, it invokes - // an RPCChannel callback, and similarly for when the depth goes from - // non-zero to zero. + // a callback, and similarly for when the depth goes from non-zero to zero. void EnteredCxxStack() { mListener->OnEnteredCxxStack(); } @@ -268,16 +267,16 @@ class MessageChannel : HasResultCodes } enum Direction { IN_MESSAGE, OUT_MESSAGE }; - struct RPCFrame { - RPCFrame(Direction direction, const Message* msg) + struct InterruptFrame { + InterruptFrame(Direction direction, const Message* msg) : mDirection(direction), mMsg(msg) { } - bool IsRPCIncall() const { - return mMsg->is_rpc() && IN_MESSAGE == mDirection; + bool IsInterruptIncall() const { + return mMsg->is_interrupt() && IN_MESSAGE == mDirection; } - bool IsRPCOutcall() const { - return mMsg->is_rpc() && OUT_MESSAGE == mDirection; + bool IsInterruptOutcall() const { + return mMsg->is_interrupt() && OUT_MESSAGE == mDirection; } void Describe(int32_t* id, const char** dir, const char** sems, @@ -285,7 +284,7 @@ class MessageChannel : HasResultCodes { *id = mMsg->routing_id(); *dir = (IN_MESSAGE == mDirection) ? "in" : "out"; - *sems = mMsg->is_rpc() ? "rpc" : mMsg->is_sync() ? "sync" : "async"; + *sems = mMsg->is_interrupt() ? "intr" : mMsg->is_sync() ? "sync" : "async"; *name = mMsg->name(); } @@ -304,17 +303,17 @@ class MessageChannel : HasResultCodes if (mThat.mCxxStackFrames.empty()) mThat.EnteredCxxStack(); - mThat.mCxxStackFrames.push_back(RPCFrame(direction, msg)); - const RPCFrame& frame = mThat.mCxxStackFrames.back(); + mThat.mCxxStackFrames.push_back(InterruptFrame(direction, msg)); + const InterruptFrame& frame = mThat.mCxxStackFrames.back(); - if (frame.IsRPCIncall()) + if (frame.IsInterruptIncall()) mThat.EnteredCall(); - mThat.mSawRPCOutMsg |= frame.IsRPCOutcall(); + mThat.mSawInterruptOutMsg |= frame.IsInterruptOutcall(); } ~CxxStackFrame() { - bool exitingCall = mThat.mCxxStackFrames.back().IsRPCIncall(); + bool exitingCall = mThat.mCxxStackFrames.back().IsInterruptIncall(); mThat.mCxxStackFrames.pop_back(); bool exitingStack = mThat.mCxxStackFrames.empty(); @@ -345,13 +344,13 @@ class MessageChannel : HasResultCodes // This method is only safe to call on the worker thread, or in a // debugger with all threads paused. - void DumpRPCStack(const char* const pfx="") const; + void DumpInterruptStack(const char* const pfx="") const; private: // Called from both threads - size_t RPCStackDepth() const { + size_t InterruptStackDepth() const { mMonitor->AssertCurrentThreadOwns(); - return mRPCStack.size(); + return mInterruptStack.size(); } // Returns true if we're blocking waiting for a reply. @@ -363,9 +362,9 @@ class MessageChannel : HasResultCodes mMonitor->AssertCurrentThreadOwns(); return mPendingUrgentReplies > 0; } - bool AwaitingRPCReply() const { + bool AwaitingInterruptReply() const { mMonitor->AssertCurrentThreadOwns(); - return !mRPCStack.empty(); + return !mInterruptStack.empty(); } // Returns true if we're dispatching a sync message's callback. @@ -517,8 +516,8 @@ class MessageChannel : HasResultCodes // // |A<| be an async in-message, // |S<| be a sync in-message, - // |C<| be an RPC in-call, - // |R<| be an RPC reply. + // |C<| be an Interrupt in-call, + // |R<| be an Interrupt reply. // // The queue can only match this configuration // @@ -531,7 +530,7 @@ class MessageChannel : HasResultCodes // and thus can't send us any more messages until we process the sync // in-msg. // - // The second case is |C<|, an RPC in-call; the other side must be blocked. + // The second case is |C<|, an Interrupt in-call; the other side must be blocked. // (There's a subtlety here: this in-call might have raced with an // out-call, but we detect that with the mechanism below, // |mRemoteStackDepth|, and races don't matter to the queue.) @@ -541,7 +540,7 @@ class MessageChannel : HasResultCodes // then other side "finished with us," and went back to its own business. // That business might have included sending any number of async message // |A<*| until sending a blocking message |(S< | C<)|. If we had more than - // one RPC call on our stack, the other side *better* not have sent us + // one Interrupt call on our stack, the other side *better* not have sent us // another blocking message, because it's blocked on a reply from us. // MessageQueue mPending; @@ -551,12 +550,12 @@ class MessageChannel : HasResultCodes // Each stack refers to a different protocol and the stacks are mutually // exclusive: multiple outcalls of the same kind cannot be initiated while // another is active. - std::stack mRPCStack; + std::stack mInterruptStack; - // This is what we think the RPC stack depth is on the "other side" of this - // RPC channel. We maintain this variable so that we can detect racy RPC - // calls. With each RPC out-call sent, we send along what *we* think the - // stack depth of the remote side is *before* it will receive the RPC call. + // This is what we think the Interrupt stack depth is on the "other side" of this + // Interrupt channel. We maintain this variable so that we can detect racy Interrupt + // calls. With each Interrupt out-call sent, we send along what *we* think the + // stack depth of the remote side is *before* it will receive the Interrupt call. // // After sending the out-call, our stack depth is "incremented" by pushing // that pending message onto mPending. @@ -567,7 +566,7 @@ class MessageChannel : HasResultCodes // // I.e., my depth is actually the same as what the other side thought it // was when it sent in-call |c|. If this fails to hold, we have detected - // racy RPC calls. + // racy Interrupt calls. // // We then increment mRemoteStackDepth *just before* processing the // in-call, since we know the other side is waiting on it, and decrement @@ -586,18 +585,18 @@ class MessageChannel : HasResultCodes // This member is only accessed on the worker thread, and so is not // protected by mMonitor. It is managed exclusively by the helper // |class CxxStackFrame|. - std::vector mCxxStackFrames; + std::vector mCxxStackFrames; - // Did we process an RPC out-call during this stack? Only meaningful in + // Did we process an Interrupt out-call during this stack? Only meaningful in // ExitedCxxStack(), from which this variable is reset. - bool mSawRPCOutMsg; + bool mSawInterruptOutMsg; - // Map of replies received "out of turn", because of RPC + // Map of replies received "out of turn", because of Interrupt // in-calls racing with replies to outstanding in-calls. See // https://bugzilla.mozilla.org/show_bug.cgi?id=521929. MessageMap mOutOfTurnReplies; - // Stack of RPC in-calls that were deferred because of race + // Stack of Interrupt in-calls that were deferred because of race // conditions. std::stack mDeferred; diff --git a/ipc/glue/MessageLink.h b/ipc/glue/MessageLink.h index 20545498cf97..09f29dceb8b6 100644 --- a/ipc/glue/MessageLink.h +++ b/ipc/glue/MessageLink.h @@ -48,11 +48,11 @@ enum ChannelState { ChannelError }; -// What happens if RPC calls race? -enum RacyRPCPolicy { - RRPError, - RRPChildWins, - RRPParentWins +// What happens if Interrupt calls race? +enum RacyInterruptPolicy { + RIPError, + RIPChildWins, + RIPParentWins }; class MessageListener @@ -87,13 +87,13 @@ class MessageListener virtual void OnExitedCall() { NS_RUNTIMEABORT("default impl shouldn't be invoked"); } - virtual RacyRPCPolicy MediateRPCRace(const Message& parent, - const Message& child) + virtual RacyInterruptPolicy MediateInterruptRace(const Message& parent, + const Message& child) { - return RRPChildWins; + return RIPChildWins; } - virtual void ProcessRemoteNativeEventsInRPCCall() { + virtual void ProcessRemoteNativeEventsInInterruptCall() { } // FIXME/bug 792652: this doesn't really belong here, but a diff --git a/ipc/glue/WindowsMessageLoop.cpp b/ipc/glue/WindowsMessageLoop.cpp index b61cdc4e9c47..5b90db73af4b 100644 --- a/ipc/glue/WindowsMessageLoop.cpp +++ b/ipc/glue/WindowsMessageLoop.cpp @@ -61,8 +61,8 @@ using namespace mozilla::ipc::windows; * in a special window procedure where we can either ignore the message or * process it in some fashion. * - * Queued and "non-queued" messages will be processed during RPC calls if - * modal UI related api calls block an RPC in-call in the child. To prevent + * Queued and "non-queued" messages will be processed during Interrupt calls if + * modal UI related api calls block an Interrupt in-call in the child. To prevent * windows from freezing, and to allow concurrent processing of critical * events (such as painting), we spin a native event dispatch loop while * these in-calls are blocked. @@ -587,8 +587,8 @@ TimeoutHasExpired(const TimeoutData& aData) } // anonymous namespace -MessageChannel::SyncStackFrame::SyncStackFrame(MessageChannel* channel, bool rpc) - : mRPC(rpc) +MessageChannel::SyncStackFrame::SyncStackFrame(MessageChannel* channel, bool interrupt) + : mInterrupt(interrupt) , mSpinNestedEvents(false) , mListenerNotified(false) , mChannel(channel) @@ -608,9 +608,9 @@ MessageChannel::SyncStackFrame::SyncStackFrame(MessageChannel* channel, bool rpc MessageChannel::SyncStackFrame::~SyncStackFrame() { NS_ASSERTION(this == mChannel->mTopFrame, - "Mismatched RPC stack frames"); + "Mismatched interrupt stack frames"); NS_ASSERTION(this == sStaticTopFrame, - "Mismatched static RPC stack frames"); + "Mismatched static Interrupt stack frames"); mChannel->mTopFrame = mPrev; sStaticTopFrame = mStaticPrev; @@ -625,28 +625,28 @@ MessageChannel::SyncStackFrame::~SyncStackFrame() MessageChannel::SyncStackFrame* MessageChannel::sStaticTopFrame; // nsAppShell's notification that gecko events are being processed. -// If we are here and there is an RPC Incall active, we are spinning +// If we are here and there is an Interrupt Incall active, we are spinning // a nested gecko event loop. In which case the remote process needs // to know about it. void /* static */ MessageChannel::NotifyGeckoEventDispatch() { - // sStaticTopFrame is only valid for RPC channels + // sStaticTopFrame is only valid for Interrupt channels if (!sStaticTopFrame || sStaticTopFrame->mListenerNotified) return; sStaticTopFrame->mListenerNotified = true; MessageChannel* channel = static_cast(sStaticTopFrame->mChannel); - channel->Listener()->ProcessRemoteNativeEventsInRPCCall(); + channel->Listener()->ProcessRemoteNativeEventsInInterruptCall(); } // invoked by the module that receives the spin event loop // message. void -MessageChannel::ProcessNativeEventsInRPCCall() +MessageChannel::ProcessNativeEventsInInterruptCall() { if (!mTopFrame) { - NS_ERROR("Spin logic error: no RPC frame"); + NS_ERROR("Spin logic error: no Interrupt frame"); return; } @@ -655,9 +655,9 @@ MessageChannel::ProcessNativeEventsInRPCCall() // Spin loop is called in place of WaitFor*Notify when modal ui is being shown // in a child. There are some intricacies in using it however. Spin loop is -// enabled for a particular RPC frame by the client calling -// MessageChannel::ProcessNativeEventsInRPCCall(). -// This call can be nested for multiple RPC frames in a single plugin or +// enabled for a particular Interrupt frame by the client calling +// MessageChannel::ProcessNativeEventsInInterrupt(). +// This call can be nested for multiple Interrupt frames in a single plugin or // multiple unrelated plugins. void MessageChannel::SpinInternalEventLoop() @@ -722,7 +722,7 @@ MessageChannel::WaitForSyncNotify() // Initialize global objects used in deferred messaging. Init(); - NS_ASSERTION(mTopFrame && !mTopFrame->mRPC, + NS_ASSERTION(mTopFrame && !mTopFrame->mInterrupt, "Top frame is not a sync frame!"); MonitorAutoUnlock unlock(*mMonitor); @@ -837,11 +837,11 @@ MessageChannel::WaitForSyncNotify() } bool -MessageChannel::WaitForRPCNotify() +MessageChannel::WaitForInterruptNotify() { mMonitor->AssertCurrentThreadOwns(); - if (!RPCStackDepth()) { + if (!InterruptStackDepth()) { // There is currently no way to recover from this condition. NS_RUNTIMEABORT("StackDepth() is 0 in call to MessageChannel::WaitForNotify!"); } @@ -849,7 +849,7 @@ MessageChannel::WaitForRPCNotify() // Initialize global objects used in deferred messaging. Init(); - NS_ASSERTION(mTopFrame && mTopFrame->mRPC, + NS_ASSERTION(mTopFrame && mTopFrame->mInterrupt, "Top frame is not a sync frame!"); MonitorAutoUnlock unlock(*mMonitor); diff --git a/ipc/ipdl/ipdl/ast.py b/ipc/ipdl/ipdl/ast.py index 62a3eac46d37..1f6d2a4c6e8c 100644 --- a/ipc/ipdl/ipdl/ast.py +++ b/ipc/ipdl/ipdl/ast.py @@ -197,8 +197,8 @@ class ASYNC: def __hash__(cls): return hash(cls.pretty) @classmethod def __str__(cls): return cls.pretty -class RPC: - pretty = 'rpc' +class INTR: + pretty = 'intr' @classmethod def __hash__(cls): return hash(cls.pretty) @classmethod @@ -242,11 +242,11 @@ class OUT: _prettyTable = { IN : { 'async': 'AsyncRecv', 'sync': 'SyncRecv', - 'rpc': 'RpcAnswer', + 'intr': 'IntrAnswer', 'urgent': 'UrgentAnswer' }, OUT : { 'async': 'AsyncSend', 'sync': 'SyncSend', - 'rpc': 'RpcCall', + 'intr': 'IntrCall', 'urgent': 'UrgentCall' } # inout doesn't make sense here } @@ -332,7 +332,7 @@ class MessageDecl(Node): self.outParams += outParamsList def hasReply(self): - return self.sendSemantics is SYNC or self.sendSemantics is RPC + return self.sendSemantics is SYNC or self.sendSemantics is INTR class Transition(Node): def __init__(self, loc, trigger, msg, toStates): diff --git a/ipc/ipdl/ipdl/cgen.py b/ipc/ipdl/ipdl/cgen.py index cc70ce1f8189..305a7b695649 100644 --- a/ipc/ipdl/ipdl/cgen.py +++ b/ipc/ipdl/ipdl/cgen.py @@ -5,7 +5,7 @@ import os, sys from ipdl.ast import Visitor -from ipdl.ast import IN, OUT, INOUT, ASYNC, SYNC, RPC, URGENT +from ipdl.ast import IN, OUT, INOUT, ASYNC, SYNC, INTR, URGENT class CodePrinter: def __init__(self, outf=sys.stdout, indentCols=4): diff --git a/ipc/ipdl/ipdl/lower.py b/ipc/ipdl/ipdl/lower.py index aef6ac5972d9..bc84ed81e66f 100644 --- a/ipc/ipdl/ipdl/lower.py +++ b/ipc/ipdl/ipdl/lower.py @@ -277,13 +277,13 @@ def _putInNamespaces(cxxthing, namespaces): def _sendPrefix(msgtype): """Prefix of the name of the C++ method that sends |msgtype|.""" - if msgtype.isRpc() or msgtype.isUrgent(): + if msgtype.isInterrupt() or msgtype.isUrgent(): return 'Call' return 'Send' def _recvPrefix(msgtype): """Prefix of the name of the C++ method that handles |msgtype|.""" - if msgtype.isRpc() or msgtype.isUrgent(): + if msgtype.isInterrupt() or msgtype.isUrgent(): return 'Answer' return 'Recv' @@ -2884,7 +2884,7 @@ class _GenerateProtocolActorCode(ipdl.ast.Visitor): ExprCall(ExprSelect(p.channelVar(), '.', 'Close')))) self.cls.addstmts([ closemeth, Whitespace.NL ]) - if ptype.talksSync() or ptype.talksRpc(): + if ptype.talksSync() or ptype.talksInterrupt(): # SetReplyTimeoutMs() timeoutvar = ExprVar('aTimeoutMs') settimeout = MethodDefn(MethodDecl( @@ -2955,8 +2955,8 @@ class _GenerateProtocolActorCode(ipdl.ast.Visitor): self.asyncSwitch = StmtSwitch(msgtype) if toplevel.talksSync(): self.syncSwitch = StmtSwitch(msgtype) - if toplevel.talksRpc(): - self.rpcSwitch = StmtSwitch(msgtype) + if toplevel.talksInterrupt(): + self.interruptSwitch = StmtSwitch(msgtype) # implement Send*() methods and add dispatcher cases to # message switch()es @@ -2974,8 +2974,8 @@ class _GenerateProtocolActorCode(ipdl.ast.Visitor): self.asyncSwitch.addcase(DefaultLabel(), default) if toplevel.talksSync(): self.syncSwitch.addcase(DefaultLabel(), default) - if toplevel.talksRpc(): - self.rpcSwitch.addcase(DefaultLabel(), default) + if toplevel.talksInterrupt(): + self.interruptSwitch.addcase(DefaultLabel(), default) # FIXME/bug 535053: only manager protocols and non-manager # protocols with union types need Lookup(). we'll give it to @@ -3021,7 +3021,7 @@ class _GenerateProtocolActorCode(ipdl.ast.Visitor): method.addstmts([ routedecl, routeif, Whitespace.NL ]) - # in the event of an RPC delete message, we want to loudly complain about + # in the event of an Interrupt delete message, we want to loudly complain about # messages that are received that are not a reply to the original message if ptype.hasReentrantDelete: msgVar = ExprVar(params[0].name) @@ -3031,7 +3031,7 @@ class _GenerateProtocolActorCode(ipdl.ast.Visitor): ExprBinary( ExprBinary(ExprCall(ExprSelect(msgVar, '.', 'is_reply')), '!=', ExprLiteral.TRUE), '||', - ExprBinary(ExprCall(ExprSelect(msgVar, '.', 'is_rpc')), '!=', ExprLiteral.TRUE)))) + ExprBinary(ExprCall(ExprSelect(msgVar, '.', 'is_interrupt')), '!=', ExprLiteral.TRUE)))) ifdying.addifstmts([_fatalError('incoming message racing with actor deletion'), StmtReturn(_Result.Processed)]) method.addstmt(ifdying) @@ -3051,8 +3051,8 @@ class _GenerateProtocolActorCode(ipdl.ast.Visitor): hasReply=0, dispatches=dispatches), Whitespace.NL ]) - if not toplevel.talksRpc(): - self.rpcSwitch = None + if not toplevel.talksInterrupt(): + self.interruptSwitch = None if not toplevel.talksSync(): self.syncSwitch = None self.cls.addstmts([ @@ -3061,7 +3061,7 @@ class _GenerateProtocolActorCode(ipdl.ast.Visitor): Whitespace.NL ]) self.cls.addstmts([ - makeHandlerMethod('OnCallReceived', self.rpcSwitch, + makeHandlerMethod('OnCallReceived', self.interruptSwitch, hasReply=1, dispatches=dispatches), Whitespace.NL ]) @@ -3090,7 +3090,7 @@ class _GenerateProtocolActorCode(ipdl.ast.Visitor): self.cls.addstmts([ gettypetag, Whitespace.NL ]) # OnReplyTimeout() - if toplevel.talksSync() or toplevel.talksRpc(): + if toplevel.talksSync() or toplevel.talksInterrupt(): ontimeout = MethodDefn( MethodDecl('OnReplyTimeout', ret=Type.BOOL)) @@ -3129,10 +3129,10 @@ class _GenerateProtocolActorCode(ipdl.ast.Visitor): onstack.addstmt(StmtReturn(ExprCall( ExprSelect(p.channelVar(), '.', p.onCxxStackVar().name)))) - # void ProcessIncomingRacingRPCCall + # void ProcessIncomingRacingInterruptCall processincoming = MethodDefn( - MethodDecl('FlushPendingRPCQueue', ret=Type.VOID)) - processincoming.addstmt(StmtExpr(ExprCall(ExprSelect(_actorChannel(ExprVar.THIS), '.', 'FlushPendingRPCQueue')))) + MethodDecl('FlushPendingInterruptQueue', ret=Type.VOID)) + processincoming.addstmt(StmtExpr(ExprCall(ExprSelect(_actorChannel(ExprVar.THIS), '.', 'FlushPendingInterruptQueue')))) self.cls.addstmts([ onentered, onexited, onenteredcall, onexitedcall, @@ -3178,16 +3178,16 @@ class _GenerateProtocolActorCode(ipdl.ast.Visitor): # User-facing shmem methods self.cls.addstmts(self.makeShmemIface()) - if (ptype.isToplevel() and ptype.talksRpc()): + if (ptype.isToplevel() and ptype.talksInterrupt()): processnative = MethodDefn( - MethodDecl('ProcessNativeEventsInRPCCall', ret=Type.VOID)) + MethodDecl('ProcessNativeEventsInInterruptCall', ret=Type.VOID)) processnative.addstmts([ CppDirective('ifdef', 'OS_WIN'), StmtExpr(ExprCall( ExprSelect(p.channelVar(), '.', - 'ProcessNativeEventsInRPCCall'))), + 'ProcessNativeEventsInInterruptCall'))), CppDirective('else'), _runtimeAbort('This method is Windows-only'), CppDirective('endif'), @@ -4640,8 +4640,8 @@ class _GenerateProtocolActorCode(ipdl.ast.Visitor): self.asyncSwitch.addcase(lbl, case) elif sems is ipdl.ast.SYNC: self.syncSwitch.addcase(lbl, case) - elif sems is ipdl.ast.RPC or sems is ipdl.ast.URGENT: - self.rpcSwitch.addcase(lbl, case) + elif sems is ipdl.ast.INTR or sems is ipdl.ast.URGENT: + self.interruptSwitch.addcase(lbl, case) else: assert 0 if self.sendsMessage(md): @@ -5038,9 +5038,9 @@ class _GenerateProtocolActorCode(ipdl.ast.Visitor): elif md.decl.type.isUrgent(): stmts.append(StmtExpr(ExprCall( ExprSelect(var, '->', 'set_urgent')))) - elif md.decl.type.isRpc(): + elif md.decl.type.isInterrupt(): stmts.append(StmtExpr(ExprCall( - ExprSelect(var, '->', 'set_rpc')))) + ExprSelect(var, '->', 'set_interrupt')))) if reply: stmts.append(StmtExpr(ExprCall( diff --git a/ipc/ipdl/ipdl/parser.py b/ipc/ipdl/ipdl/parser.py index 44d889374905..4f502165c80f 100644 --- a/ipc/ipdl/ipdl/parser.py +++ b/ipc/ipdl/ipdl/parser.py @@ -126,6 +126,7 @@ reserved = set(( 'delete', # reserve 'delete' to prevent its use 'goto', 'include', + 'intr', 'manager', 'manages', 'namespace', @@ -136,7 +137,6 @@ reserved = set(( 'protocol', 'recv', 'returns', - 'rpc', 'send', 'spawns', 'start', @@ -216,6 +216,7 @@ def p_TranslationUnit(p): tu.namespaces = tu.protocol.namespaces tu.name = tu.protocol.name else: + print tu.filetype assert tu.filetype == 'header' # There's not really a canonical "thing" in headers. So # somewhat arbitrarily use the namespace of the last @@ -605,12 +606,12 @@ def p_OptionalSendSemanticsQual(p): def p_SendSemanticsQual(p): """SendSemanticsQual : ASYNC - | RPC + | INTR | URGENT | SYNC""" s = p[1] if 'async' == s: p[0] = ASYNC - elif 'rpc' == s: p[0] = RPC + elif 'intr' == s: p[0] = INTR elif 'sync' == s: p[0] = SYNC elif 'urgent' == s: p[0] = URGENT else: diff --git a/ipc/ipdl/ipdl/type.py b/ipc/ipdl/ipdl/type.py index 8f8bf4a957b8..90d1ee7d8d07 100644 --- a/ipc/ipdl/ipdl/type.py +++ b/ipc/ipdl/ipdl/type.py @@ -5,7 +5,9 @@ import os, sys -from ipdl.ast import CxxInclude, Decl, Loc, QualifiedId, State, StructDecl, TransitionStmt, TypeSpec, UnionDecl, UsingStmt, Visitor, ASYNC, SYNC, RPC, IN, OUT, INOUT, ANSWER, CALL, RECV, SEND, URGENT +from ipdl.ast import CxxInclude, Decl, Loc, QualifiedId, State, StructDecl, TransitionStmt +from ipdl.ast import TypeSpec, UnionDecl, UsingStmt, Visitor, ASYNC, SYNC, INTR +from ipdl.ast import IN, OUT, INOUT, ANSWER, CALL, RECV, SEND, URGENT import ipdl.builtin as builtin _DELETE_MSG = '__delete__' @@ -204,18 +206,18 @@ class IPDLType(Type): def isAsync(self): return self.sendSemantics is ASYNC def isSync(self): return self.sendSemantics is SYNC - def isRpc(self): return self.sendSemantics is RPC + def isInterrupt(self): return self.sendSemantics is INTR def isUrgent(self): return self.sendSemantics is URGENT def talksAsync(self): return True - def talksSync(self): return self.isSync() or self.isRpc() - def talksRpc(self): return self.isRpc() + def talksSync(self): return self.isSync() or self.isInterrupt() + def talksInterrupt(self): return self.isInterrupt() - def hasReply(self): return self.isSync() or self.isRpc() or self.isUrgent() + def hasReply(self): return self.isSync() or self.isInterrupt() or self.isUrgent() def needsMoreJuiceThan(self, o): return (o.isAsync() and not self.isAsync() - or o.isSync() and self.isRpc()) + or o.isSync() and self.isInterrupt()) class StateType(IPDLType): def __init__(self, protocol, name, start=False): @@ -871,7 +873,7 @@ class GatherDecls(TcheckVisitor): "destructor declaration `%s(...)' required for managed protocol `%s'", _DELETE_MSG, p.name) - p.decl.type.hasReentrantDelete = p.decl.type.hasDelete and self.symtab.lookup(_DELETE_MSG).type.isRpc() + p.decl.type.hasReentrantDelete = p.decl.type.hasDelete and self.symtab.lookup(_DELETE_MSG).type.isInterrupt() for managed in p.managesStmts: mgdname = managed.name @@ -1497,13 +1499,13 @@ class CheckTypes(TcheckVisitor): loc = t.loc impliedDirection, impliedSems = { SEND: [ OUT, _YNC ], RECV: [ IN, _YNC ], - CALL: [ OUT, RPC ], ANSWER: [ IN, RPC ], + CALL: [ OUT, INTR ], ANSWER: [ IN, INTR ], } [t.trigger] if (OUT is impliedDirection and t.msg.type.isIn() or IN is impliedDirection and t.msg.type.isOut() - or _YNC is impliedSems and t.msg.type.isRpc() - or RPC is impliedSems and (not t.msg.type.isRpc())): + or _YNC is impliedSems and t.msg.type.isInterrupt() + or INTR is impliedSems and (not t.msg.type.isInterrupt())): mtype = t.msg.type self.error( diff --git a/ipc/ipdl/test/cxx/Makefile.in b/ipc/ipdl/test/cxx/Makefile.in index a81d69f6c459..e26dbfb2be35 100644 --- a/ipc/ipdl/test/cxx/Makefile.in +++ b/ipc/ipdl/test/cxx/Makefile.in @@ -18,12 +18,12 @@ IPDLTESTS = \ TestMultiMgrs \ TestNestedLoops \ TestOpens \ - TestRPCErrorCleanup \ - TestRPCRaces \ - TestRPCShutdownRace \ + TestInterruptErrorCleanup \ + TestInterruptRaces \ + TestInterruptShutdownRace \ TestRaceDeferral \ TestRacyReentry \ - TestRacyRPCReplies \ + TestRacyInterruptReplies \ TestRacyUndefer \ TestSanity \ TestSelfManageRoot \ diff --git a/ipc/ipdl/test/cxx/PTestBadActor.ipdl b/ipc/ipdl/test/cxx/PTestBadActor.ipdl index db6a8ba3ac90..1e9f25e6719a 100644 --- a/ipc/ipdl/test/cxx/PTestBadActor.ipdl +++ b/ipc/ipdl/test/cxx/PTestBadActor.ipdl @@ -6,7 +6,7 @@ namespace _ipdltest { // Test that a parent sending a reentrant __delete__ message // is not killed if a child's message races with the reply. -rpc protocol PTestBadActor { +intr protocol PTestBadActor { manages PTestBadActorSub; child: diff --git a/ipc/ipdl/test/cxx/PTestBadActorSub.ipdl b/ipc/ipdl/test/cxx/PTestBadActorSub.ipdl index 80e39d255b21..6baf777edd02 100644 --- a/ipc/ipdl/test/cxx/PTestBadActorSub.ipdl +++ b/ipc/ipdl/test/cxx/PTestBadActorSub.ipdl @@ -3,11 +3,11 @@ include protocol PTestBadActor; namespace mozilla { namespace _ipdltest { -rpc protocol PTestBadActorSub { +intr protocol PTestBadActorSub { manager PTestBadActor; child: - rpc __delete__(); + intr __delete__(); parent: Ping(); diff --git a/ipc/ipdl/test/cxx/PTestBridgeMainSub.ipdl b/ipc/ipdl/test/cxx/PTestBridgeMainSub.ipdl index 99f6bffc62a3..7f672b56ae6a 100644 --- a/ipc/ipdl/test/cxx/PTestBridgeMainSub.ipdl +++ b/ipc/ipdl/test/cxx/PTestBridgeMainSub.ipdl @@ -6,17 +6,17 @@ namespace _ipdltest { // (Bridge protocols can have different semantics than the endpoints // they bridge) -rpc protocol PTestBridgeMainSub { +intr protocol PTestBridgeMainSub { bridges PTestBridgeMain, PTestBridgeSub; child: Hi(); - rpc HiRpc(); + intr HiRpc(); parent: Hello(); sync HelloSync(); - rpc HelloRpc(); + intr HelloRpc(); __delete__(); state START: recv Hello goto HI; diff --git a/ipc/ipdl/test/cxx/PTestCrashCleanup.ipdl b/ipc/ipdl/test/cxx/PTestCrashCleanup.ipdl index 7be129248aed..d0acda8707f1 100644 --- a/ipc/ipdl/test/cxx/PTestCrashCleanup.ipdl +++ b/ipc/ipdl/test/cxx/PTestCrashCleanup.ipdl @@ -7,9 +7,9 @@ namespace mozilla { namespace _ipdltest { // NB: needs to be RPC so that the parent blocks on the child's crash. -rpc protocol PTestCrashCleanup { +intr protocol PTestCrashCleanup { child: - rpc DIEDIEDIE(); + intr DIEDIEDIE(); __delete__(); state ALIVE: diff --git a/ipc/ipdl/test/cxx/PTestDesc.ipdl b/ipc/ipdl/test/cxx/PTestDesc.ipdl index aad84c049e3e..fdcc63805b8c 100644 --- a/ipc/ipdl/test/cxx/PTestDesc.ipdl +++ b/ipc/ipdl/test/cxx/PTestDesc.ipdl @@ -4,10 +4,10 @@ include protocol PTestDescSubsub; namespace mozilla { namespace _ipdltest { -rpc protocol PTestDesc { +intr protocol PTestDesc { manages PTestDescSub; child: - rpc PTestDescSub(nullable PTestDescSubsub dummy); + intr PTestDescSub(nullable PTestDescSubsub dummy); Test(PTestDescSubsub a); diff --git a/ipc/ipdl/test/cxx/PTestDescSub.ipdl b/ipc/ipdl/test/cxx/PTestDescSub.ipdl index 739815796379..c4a70cfcf377 100644 --- a/ipc/ipdl/test/cxx/PTestDescSub.ipdl +++ b/ipc/ipdl/test/cxx/PTestDescSub.ipdl @@ -4,14 +4,14 @@ include protocol PTestDescSubsub; namespace mozilla { namespace _ipdltest { -rpc protocol PTestDescSub { +intr protocol PTestDescSub { manager PTestDesc; manages PTestDescSubsub; child: __delete__(); - rpc PTestDescSubsub(); + intr PTestDescSubsub(); }; } diff --git a/ipc/ipdl/test/cxx/PTestDescSubsub.ipdl b/ipc/ipdl/test/cxx/PTestDescSubsub.ipdl index 26e1b553815d..c449f27441fa 100644 --- a/ipc/ipdl/test/cxx/PTestDescSubsub.ipdl +++ b/ipc/ipdl/test/cxx/PTestDescSubsub.ipdl @@ -4,11 +4,11 @@ include protocol PTestDescSub; namespace mozilla { namespace _ipdltest { -rpc protocol PTestDescSubsub { +intr protocol PTestDescSubsub { manager PTestDescSub; child: - rpc __delete__(); + intr __delete__(); }; } diff --git a/ipc/ipdl/test/cxx/PTestFailedCtor.ipdl b/ipc/ipdl/test/cxx/PTestFailedCtor.ipdl index f71de11b7b35..1dee1f46d334 100644 --- a/ipc/ipdl/test/cxx/PTestFailedCtor.ipdl +++ b/ipc/ipdl/test/cxx/PTestFailedCtor.ipdl @@ -3,10 +3,10 @@ include protocol PTestFailedCtorSub; namespace mozilla { namespace _ipdltest { -rpc protocol PTestFailedCtor { +intr protocol PTestFailedCtor { manages PTestFailedCtorSub; child: - rpc PTestFailedCtorSub(); + intr PTestFailedCtorSub(); __delete__(); state CONSTRUCT: diff --git a/ipc/ipdl/test/cxx/PTestFailedCtorSub.ipdl b/ipc/ipdl/test/cxx/PTestFailedCtorSub.ipdl index 4ccc8926b5ee..42fca1175518 100644 --- a/ipc/ipdl/test/cxx/PTestFailedCtorSub.ipdl +++ b/ipc/ipdl/test/cxx/PTestFailedCtorSub.ipdl @@ -4,7 +4,7 @@ include protocol PTestFailedCtorSubsub; namespace mozilla { namespace _ipdltest { -rpc protocol PTestFailedCtorSub { +intr protocol PTestFailedCtorSub { manager PTestFailedCtor; manages PTestFailedCtorSubsub; diff --git a/ipc/ipdl/test/cxx/PTestFailedCtorSubsub.ipdl b/ipc/ipdl/test/cxx/PTestFailedCtorSubsub.ipdl index 101841bffd05..ca272e17b8ca 100644 --- a/ipc/ipdl/test/cxx/PTestFailedCtorSubsub.ipdl +++ b/ipc/ipdl/test/cxx/PTestFailedCtorSubsub.ipdl @@ -4,7 +4,7 @@ include protocol PTestFailedCtorSub; namespace mozilla { namespace _ipdltest { -rpc protocol PTestFailedCtorSubsub { +intr protocol PTestFailedCtorSubsub { manager PTestFailedCtorSub; parent: diff --git a/ipc/ipdl/test/cxx/PTestHangs.ipdl b/ipc/ipdl/test/cxx/PTestHangs.ipdl index 56460e12f20c..d32996101d30 100644 --- a/ipc/ipdl/test/cxx/PTestHangs.ipdl +++ b/ipc/ipdl/test/cxx/PTestHangs.ipdl @@ -2,16 +2,16 @@ namespace mozilla { namespace _ipdltest { -rpc protocol PTestHangs { +intr protocol PTestHangs { both: - rpc StackFrame(); + intr StackFrame(); parent: async Nonce(); child: async Start(); - rpc Hang(); + intr Hang(); __delete__(); diff --git a/ipc/ipdl/test/cxx/PTestRPCErrorCleanup.ipdl b/ipc/ipdl/test/cxx/PTestInterruptErrorCleanup.ipdl similarity index 54% rename from ipc/ipdl/test/cxx/PTestRPCErrorCleanup.ipdl rename to ipc/ipdl/test/cxx/PTestInterruptErrorCleanup.ipdl index 509ecf8a1c1f..95f933bba72e 100644 --- a/ipc/ipdl/test/cxx/PTestRPCErrorCleanup.ipdl +++ b/ipc/ipdl/test/cxx/PTestInterruptErrorCleanup.ipdl @@ -1,10 +1,10 @@ namespace mozilla { namespace _ipdltest { -rpc protocol PTestRPCErrorCleanup { +intr protocol PTestInterruptErrorCleanup { child: - rpc Error(); - rpc __delete__(); + intr Error(); + intr __delete__(); }; } // namespace _ipdltest diff --git a/ipc/ipdl/test/cxx/PTestRPCRaces.ipdl b/ipc/ipdl/test/cxx/PTestInterruptRaces.ipdl similarity index 83% rename from ipc/ipdl/test/cxx/PTestRPCRaces.ipdl rename to ipc/ipdl/test/cxx/PTestInterruptRaces.ipdl index 5e3dc04e4015..3fb07f1a7708 100644 --- a/ipc/ipdl/test/cxx/PTestRPCRaces.ipdl +++ b/ipc/ipdl/test/cxx/PTestInterruptRaces.ipdl @@ -1,28 +1,28 @@ namespace mozilla { namespace _ipdltest { -rpc protocol PTestRPCRaces { +intr protocol PTestInterruptRaces { both: - rpc Race() returns (bool hasReply); - rpc StackFrame() returns (); - rpc StackFrame3() returns (); + intr Race() returns (bool hasReply); + intr StackFrame() returns (); + intr StackFrame3() returns (); parent: sync StartRace(); - rpc Parent(); + intr Parent(); sync GetAnsweredParent() returns (bool answeredParent); child: Start(); Wakeup(); Wakeup3(); - rpc Child(); + intr Child(); __delete__(); state START: send Start goto TEST1; -// First test: race while no other messages are on the RPC stack +// First test: race while no other messages are on the Interrupt stack state TEST1: recv StartRace goto RACE1; state RACE1: @@ -33,7 +33,7 @@ state DUMMY1_1: state DUMMY1_2: call Race goto TEST2; -// Second test: race while other messages are on the RPC stack +// Second test: race while other messages are on the Interrupt stack state TEST2: call StackFrame goto MORESTACK; state MORESTACK: diff --git a/ipc/ipdl/test/cxx/PTestRPCShutdownRace.ipdl b/ipc/ipdl/test/cxx/PTestInterruptShutdownRace.ipdl similarity index 89% rename from ipc/ipdl/test/cxx/PTestRPCShutdownRace.ipdl rename to ipc/ipdl/test/cxx/PTestInterruptShutdownRace.ipdl index af49f7a73895..10b377487a75 100644 --- a/ipc/ipdl/test/cxx/PTestRPCShutdownRace.ipdl +++ b/ipc/ipdl/test/cxx/PTestInterruptShutdownRace.ipdl @@ -1,14 +1,14 @@ namespace mozilla { namespace _ipdltest { -rpc protocol PTestRPCShutdownRace { +intr protocol PTestInterruptShutdownRace { parent: sync StartDeath(); async Orphan(); child: async Start(); - rpc Exit(); + intr Exit(); async __delete__(); state START: diff --git a/ipc/ipdl/test/cxx/PTestLatency.ipdl b/ipc/ipdl/test/cxx/PTestLatency.ipdl index 204dd3ff4b9a..438f2ffa5f22 100644 --- a/ipc/ipdl/test/cxx/PTestLatency.ipdl +++ b/ipc/ipdl/test/cxx/PTestLatency.ipdl @@ -3,17 +3,17 @@ namespace mozilla { namespace _ipdltest { -rpc protocol PTestLatency { +intr protocol PTestLatency { child: __delete__(); Ping(); Ping5(); - rpc Rpc(); + intr Rpc(); Spam(); - rpc Synchro(); + intr Synchro(); CompressedSpam(uint32_t seqno) compress; - rpc Synchro2() returns (uint32_t lastSeqno, + intr Synchro2() returns (uint32_t lastSeqno, uint32_t numMessagesDispatched); parent: diff --git a/ipc/ipdl/test/cxx/PTestNestedLoops.ipdl b/ipc/ipdl/test/cxx/PTestNestedLoops.ipdl index 05fc6b9d7b22..c8e8c8fe16ad 100644 --- a/ipc/ipdl/test/cxx/PTestNestedLoops.ipdl +++ b/ipc/ipdl/test/cxx/PTestNestedLoops.ipdl @@ -3,11 +3,11 @@ namespace mozilla { namespace _ipdltest { -rpc protocol PTestNestedLoops { +intr protocol PTestNestedLoops { child: async Start(); - rpc R(); + intr R(); __delete__(); parent: diff --git a/ipc/ipdl/test/cxx/PTestOpensOpened.ipdl b/ipc/ipdl/test/cxx/PTestOpensOpened.ipdl index 64a0cd7053c7..f6cdfeb4adcd 100644 --- a/ipc/ipdl/test/cxx/PTestOpensOpened.ipdl +++ b/ipc/ipdl/test/cxx/PTestOpensOpened.ipdl @@ -3,15 +3,15 @@ namespace _ipdltest2 { // (Opens protocols can have different semantics than the endpoints // that opened them) -rpc protocol PTestOpensOpened { +intr protocol PTestOpensOpened { child: Hi(); - rpc HiRpc(); + intr HiRpc(); parent: Hello(); sync HelloSync(); - rpc HelloRpc(); + intr HelloRpc(); __delete__(); state START: recv Hello goto HI; diff --git a/ipc/ipdl/test/cxx/PTestRaceDeferral.ipdl b/ipc/ipdl/test/cxx/PTestRaceDeferral.ipdl index 9820973c24dc..ada6df4c6d7d 100644 --- a/ipc/ipdl/test/cxx/PTestRaceDeferral.ipdl +++ b/ipc/ipdl/test/cxx/PTestRaceDeferral.ipdl @@ -1,14 +1,14 @@ namespace mozilla { namespace _ipdltest { -rpc protocol PTestRaceDeferral { +intr protocol PTestRaceDeferral { parent: - rpc Lose(); + intr Lose(); child: async StartRace(); - rpc Win(); - rpc Rpc(); + intr Win(); + intr Rpc(); async __delete__(); // Test that messages deferred due to race resolution are diff --git a/ipc/ipdl/test/cxx/PTestRacyRPCReplies.ipdl b/ipc/ipdl/test/cxx/PTestRacyInterruptReplies.ipdl similarity index 82% rename from ipc/ipdl/test/cxx/PTestRacyRPCReplies.ipdl rename to ipc/ipdl/test/cxx/PTestRacyInterruptReplies.ipdl index afeb62a22ef3..56e700b85c57 100644 --- a/ipc/ipdl/test/cxx/PTestRacyRPCReplies.ipdl +++ b/ipc/ipdl/test/cxx/PTestRacyInterruptReplies.ipdl @@ -1,15 +1,15 @@ namespace mozilla { namespace _ipdltest { -rpc protocol PTestRacyRPCReplies { +intr protocol PTestRacyInterruptReplies { child: - rpc R_() returns (int replyNum); + intr R_() returns (int replyNum); async _A(); async ChildTest(); async __delete__(); parent: - rpc _R() returns (int replyNum); + intr _R() returns (int replyNum); async A_(); state PARENT_START: diff --git a/ipc/ipdl/test/cxx/PTestRacyReentry.ipdl b/ipc/ipdl/test/cxx/PTestRacyReentry.ipdl index 264fe7c1f264..6862527398d5 100644 --- a/ipc/ipdl/test/cxx/PTestRacyReentry.ipdl +++ b/ipc/ipdl/test/cxx/PTestRacyReentry.ipdl @@ -3,17 +3,17 @@ namespace mozilla { namespace _ipdltest { -rpc protocol PTestRacyReentry { +intr protocol PTestRacyReentry { parent: - rpc E(); + intr E(); __delete__(); child: async Start(); async N(); - rpc H(); + intr H(); }; diff --git a/ipc/ipdl/test/cxx/PTestRacyUndefer.ipdl b/ipc/ipdl/test/cxx/PTestRacyUndefer.ipdl index 6b4c909d2baf..8863d61795e4 100644 --- a/ipc/ipdl/test/cxx/PTestRacyUndefer.ipdl +++ b/ipc/ipdl/test/cxx/PTestRacyUndefer.ipdl @@ -3,7 +3,7 @@ namespace mozilla { namespace _ipdltest { -rpc protocol PTestRacyUndefer { +intr protocol PTestRacyUndefer { child: async Start(); @@ -11,14 +11,14 @@ child: async AwakenSpam(); async AwakenRaceWinTwice(); - rpc Race(); + intr Race(); async __delete__(); parent: - rpc Spam(); - rpc RaceWinTwice(); + intr Spam(); + intr RaceWinTwice(); async Done(); }; diff --git a/ipc/ipdl/test/cxx/PTestShutdown.ipdl b/ipc/ipdl/test/cxx/PTestShutdown.ipdl index 4f71e04dd8de..3f79809d2a48 100644 --- a/ipc/ipdl/test/cxx/PTestShutdown.ipdl +++ b/ipc/ipdl/test/cxx/PTestShutdown.ipdl @@ -3,7 +3,7 @@ include protocol PTestShutdownSub; namespace mozilla { namespace _ipdltest { -rpc protocol PTestShutdown { +intr protocol PTestShutdown { manages PTestShutdownSub; child: diff --git a/ipc/ipdl/test/cxx/PTestShutdownSub.ipdl b/ipc/ipdl/test/cxx/PTestShutdownSub.ipdl index 9820a98e8153..6061d0685af2 100644 --- a/ipc/ipdl/test/cxx/PTestShutdownSub.ipdl +++ b/ipc/ipdl/test/cxx/PTestShutdownSub.ipdl @@ -4,12 +4,12 @@ include protocol PTestShutdownSubsub; namespace mozilla { namespace _ipdltest { -rpc protocol PTestShutdownSub { +intr protocol PTestShutdownSub { manager PTestShutdown; manages PTestShutdownSubsub; both: - rpc StackFrame(); + intr StackFrame(); parent: PTestShutdownSubsub(bool expectParentDeleted); diff --git a/ipc/ipdl/test/cxx/PTestStackHooks.ipdl b/ipc/ipdl/test/cxx/PTestStackHooks.ipdl index 635db3a27edb..3f79d1a5d3e9 100644 --- a/ipc/ipdl/test/cxx/PTestStackHooks.ipdl +++ b/ipc/ipdl/test/cxx/PTestStackHooks.ipdl @@ -3,7 +3,7 @@ namespace mozilla { namespace _ipdltest { -rpc protocol PTestStackHooks { +intr protocol PTestStackHooks { child: async Start(); @@ -12,10 +12,10 @@ child: parent: async Async(); sync Sync(); - rpc Rpc(); + intr Rpc(); both: - rpc StackFrame(); + intr StackFrame(); parent: __delete__(); diff --git a/ipc/ipdl/test/cxx/PTestSyncWakeup.ipdl b/ipc/ipdl/test/cxx/PTestSyncWakeup.ipdl index 274611521c01..3d873cdf543d 100644 --- a/ipc/ipdl/test/cxx/PTestSyncWakeup.ipdl +++ b/ipc/ipdl/test/cxx/PTestSyncWakeup.ipdl @@ -1,9 +1,9 @@ namespace mozilla { namespace _ipdltest { -rpc protocol PTestSyncWakeup { +intr protocol PTestSyncWakeup { both: - rpc StackFrame(); + intr StackFrame(); child: async Start(); diff --git a/ipc/ipdl/test/cxx/PTestUrgency.ipdl b/ipc/ipdl/test/cxx/PTestUrgency.ipdl index 54021e1db341..5234f901365e 100644 --- a/ipc/ipdl/test/cxx/PTestUrgency.ipdl +++ b/ipc/ipdl/test/cxx/PTestUrgency.ipdl @@ -1,7 +1,7 @@ namespace mozilla { namespace _ipdltest { -rpc protocol PTestUrgency +intr protocol PTestUrgency { parent: sync Test1() returns (uint32_t result); diff --git a/ipc/ipdl/test/cxx/TestRPCErrorCleanup.cpp b/ipc/ipdl/test/cxx/TestInterruptErrorCleanup.cpp similarity index 75% rename from ipc/ipdl/test/cxx/TestRPCErrorCleanup.cpp rename to ipc/ipdl/test/cxx/TestInterruptErrorCleanup.cpp index a2cc8ddf6179..c4f9638cd596 100644 --- a/ipc/ipdl/test/cxx/TestRPCErrorCleanup.cpp +++ b/ipc/ipdl/test/cxx/TestInterruptErrorCleanup.cpp @@ -1,4 +1,4 @@ -#include "TestRPCErrorCleanup.h" +#include "TestInterruptErrorCleanup.h" #include "mozilla/CondVar.h" #include "mozilla/Mutex.h" @@ -33,13 +33,13 @@ void DeleteSubprocess(Mutex* mutex, CondVar* cvar) void DeleteTheWorld() { - delete static_cast(gParentActor); + delete static_cast(gParentActor); gParentActor = nullptr; // needs to be synchronous to avoid affecting event ordering on // the main thread - Mutex mutex("TestRPCErrorCleanup.DeleteTheWorld.mutex"); - CondVar cvar(mutex, "TestRPCErrorCleanup.DeleteTheWorld.cvar"); + Mutex mutex("TestInterruptErrorCleanup.DeleteTheWorld.mutex"); + CondVar cvar(mutex, "TestInterruptErrorCleanup.DeleteTheWorld.cvar"); MutexAutoLock lock(mutex); @@ -61,26 +61,26 @@ void Done() } // namespace -TestRPCErrorCleanupParent::TestRPCErrorCleanupParent() +TestInterruptErrorCleanupParent::TestInterruptErrorCleanupParent() : mGotProcessingError(false) { - MOZ_COUNT_CTOR(TestRPCErrorCleanupParent); + MOZ_COUNT_CTOR(TestInterruptErrorCleanupParent); } -TestRPCErrorCleanupParent::~TestRPCErrorCleanupParent() +TestInterruptErrorCleanupParent::~TestInterruptErrorCleanupParent() { - MOZ_COUNT_DTOR(TestRPCErrorCleanupParent); + MOZ_COUNT_DTOR(TestInterruptErrorCleanupParent); } void -TestRPCErrorCleanupParent::Main() +TestInterruptErrorCleanupParent::Main() { // This test models the following sequence of events // - // (1) Parent: RPC out-call + // (1) Parent: Interrupt out-call // (2) Child: crash // --[Parent-only hereafter]-- - // (3) RPC out-call return false + // (3) Interrupt out-call return false // (4) Close() // --[event loop]-- // (5) delete parentActor @@ -122,7 +122,7 @@ TestRPCErrorCleanupParent::Main() } void -TestRPCErrorCleanupParent::ProcessingError(Result what) +TestInterruptErrorCleanupParent::ProcessingError(Result what) { if (what != MsgDropped) fail("unexpected processing error"); @@ -132,18 +132,18 @@ TestRPCErrorCleanupParent::ProcessingError(Result what) //----------------------------------------------------------------------------- // child -TestRPCErrorCleanupChild::TestRPCErrorCleanupChild() +TestInterruptErrorCleanupChild::TestInterruptErrorCleanupChild() { - MOZ_COUNT_CTOR(TestRPCErrorCleanupChild); + MOZ_COUNT_CTOR(TestInterruptErrorCleanupChild); } -TestRPCErrorCleanupChild::~TestRPCErrorCleanupChild() +TestInterruptErrorCleanupChild::~TestInterruptErrorCleanupChild() { - MOZ_COUNT_DTOR(TestRPCErrorCleanupChild); + MOZ_COUNT_DTOR(TestInterruptErrorCleanupChild); } bool -TestRPCErrorCleanupChild::AnswerError() +TestInterruptErrorCleanupChild::AnswerError() { _exit(0); NS_RUNTIMEABORT("unreached"); diff --git a/ipc/ipdl/test/cxx/TestRPCErrorCleanup.h b/ipc/ipdl/test/cxx/TestInterruptErrorCleanup.h similarity index 55% rename from ipc/ipdl/test/cxx/TestRPCErrorCleanup.h rename to ipc/ipdl/test/cxx/TestInterruptErrorCleanup.h index 19d3ffdabf64..98a5c78a4213 100644 --- a/ipc/ipdl/test/cxx/TestRPCErrorCleanup.h +++ b/ipc/ipdl/test/cxx/TestInterruptErrorCleanup.h @@ -1,21 +1,21 @@ -#ifndef mozilla__ipdltest_TestRPCErrorCleanup_h -#define mozilla__ipdltest_TestRPCErrorCleanup_h 1 +#ifndef mozilla__ipdltest_TestInterruptErrorCleanup_h +#define mozilla__ipdltest_TestInterruptErrorCleanup_h 1 #include "mozilla/_ipdltest/IPDLUnitTests.h" -#include "mozilla/_ipdltest/PTestRPCErrorCleanupParent.h" -#include "mozilla/_ipdltest/PTestRPCErrorCleanupChild.h" +#include "mozilla/_ipdltest/PTestInterruptErrorCleanupParent.h" +#include "mozilla/_ipdltest/PTestInterruptErrorCleanupChild.h" namespace mozilla { namespace _ipdltest { -class TestRPCErrorCleanupParent : - public PTestRPCErrorCleanupParent +class TestInterruptErrorCleanupParent : + public PTestInterruptErrorCleanupParent { public: - TestRPCErrorCleanupParent(); - virtual ~TestRPCErrorCleanupParent(); + TestInterruptErrorCleanupParent(); + virtual ~TestInterruptErrorCleanupParent(); static bool RunTestInProcesses() { return true; } // FIXME/bug 703323 Could work if modified @@ -36,12 +36,12 @@ protected: }; -class TestRPCErrorCleanupChild : - public PTestRPCErrorCleanupChild +class TestInterruptErrorCleanupChild : + public PTestInterruptErrorCleanupChild { public: - TestRPCErrorCleanupChild(); - virtual ~TestRPCErrorCleanupChild(); + TestInterruptErrorCleanupChild(); + virtual ~TestInterruptErrorCleanupChild(); protected: virtual bool AnswerError() MOZ_OVERRIDE; @@ -57,4 +57,4 @@ protected: } // namespace mozilla -#endif // ifndef mozilla__ipdltest_TestRPCErrorCleanup_h +#endif // ifndef mozilla__ipdltest_TestInterruptErrorCleanup_h diff --git a/ipc/ipdl/test/cxx/TestRPCRaces.cpp b/ipc/ipdl/test/cxx/TestInterruptRaces.cpp similarity index 68% rename from ipc/ipdl/test/cxx/TestRPCRaces.cpp rename to ipc/ipdl/test/cxx/TestInterruptRaces.cpp index 31e829b3ac53..295859a98efc 100644 --- a/ipc/ipdl/test/cxx/TestRPCRaces.cpp +++ b/ipc/ipdl/test/cxx/TestInterruptRaces.cpp @@ -1,48 +1,48 @@ -#include "TestRPCRaces.h" +#include "TestInterruptRaces.h" #include "IPDLUnitTests.h" // fail etc. using mozilla::ipc::MessageChannel; template<> -struct RunnableMethodTraits +struct RunnableMethodTraits { - static void RetainCallee(mozilla::_ipdltest::TestRPCRacesParent* obj) { } - static void ReleaseCallee(mozilla::_ipdltest::TestRPCRacesParent* obj) { } + static void RetainCallee(mozilla::_ipdltest::TestInterruptRacesParent* obj) { } + static void ReleaseCallee(mozilla::_ipdltest::TestInterruptRacesParent* obj) { } }; namespace mozilla { namespace _ipdltest { -ipc::RacyRPCPolicy +ipc::RacyInterruptPolicy MediateRace(const MessageChannel::Message& parent, const MessageChannel::Message& child) { - return (PTestRPCRaces::Msg_Child__ID == parent.type()) ? - ipc::RRPParentWins : ipc::RRPChildWins; + return (PTestInterruptRaces::Msg_Child__ID == parent.type()) ? + ipc::RIPParentWins : ipc::RIPChildWins; } //----------------------------------------------------------------------------- // parent void -TestRPCRacesParent::Main() +TestInterruptRacesParent::Main() { if (!SendStart()) fail("sending Start()"); } bool -TestRPCRacesParent::RecvStartRace() +TestInterruptRacesParent::RecvStartRace() { MessageLoop::current()->PostTask( FROM_HERE, - NewRunnableMethod(this, &TestRPCRacesParent::OnRaceTime)); + NewRunnableMethod(this, &TestInterruptRacesParent::OnRaceTime)); return true; } void -TestRPCRacesParent::OnRaceTime() +TestInterruptRacesParent::OnRaceTime() { if (!CallRace(&mChildHasReply)) fail("problem calling Race()"); @@ -54,20 +54,20 @@ TestRPCRacesParent::OnRaceTime() MessageLoop::current()->PostTask( FROM_HERE, - NewRunnableMethod(this, &TestRPCRacesParent::Test2)); + NewRunnableMethod(this, &TestInterruptRacesParent::Test2)); } bool -TestRPCRacesParent::AnswerRace(bool* hasReply) +TestInterruptRacesParent::AnswerRace(bool* hasReply) { if (mHasReply) - fail("apparently the parent won the RPC race!"); + fail("apparently the parent won the Interrupt race!"); *hasReply = hasReply; return true; } void -TestRPCRacesParent::Test2() +TestInterruptRacesParent::Test2() { puts(" passed"); puts("Test 2"); @@ -82,11 +82,11 @@ TestRPCRacesParent::Test2() MessageLoop::current()->PostTask( FROM_HERE, - NewRunnableMethod(this, &TestRPCRacesParent::Test3)); + NewRunnableMethod(this, &TestInterruptRacesParent::Test3)); } bool -TestRPCRacesParent::AnswerStackFrame() +TestInterruptRacesParent::AnswerStackFrame() { if (!SendWakeup()) fail("can't wake up the child"); @@ -102,7 +102,7 @@ TestRPCRacesParent::AnswerStackFrame() } void -TestRPCRacesParent::Test3() +TestInterruptRacesParent::Test3() { puts("Test 3"); @@ -115,7 +115,7 @@ TestRPCRacesParent::Test3() } bool -TestRPCRacesParent::AnswerStackFrame3() +TestInterruptRacesParent::AnswerStackFrame3() { if (!SendWakeup3()) fail("can't wake up the child"); @@ -127,14 +127,14 @@ TestRPCRacesParent::AnswerStackFrame3() } bool -TestRPCRacesParent::AnswerParent() +TestInterruptRacesParent::AnswerParent() { mAnsweredParent = true; return true; } bool -TestRPCRacesParent::RecvGetAnsweredParent(bool* answeredParent) +TestInterruptRacesParent::RecvGetAnsweredParent(bool* answeredParent) { *answeredParent = mAnsweredParent; return true; @@ -143,7 +143,7 @@ TestRPCRacesParent::RecvGetAnsweredParent(bool* answeredParent) //----------------------------------------------------------------------------- // child bool -TestRPCRacesChild::RecvStart() +TestInterruptRacesChild::RecvStart() { puts("Test 1"); @@ -159,10 +159,10 @@ TestRPCRacesChild::RecvStart() } bool -TestRPCRacesChild::AnswerRace(bool* hasReply) +TestInterruptRacesChild::AnswerRace(bool* hasReply) { if (!mHasReply) - fail("apparently the child lost the RPC race!"); + fail("apparently the child lost the Interrupt race!"); *hasReply = mHasReply; @@ -170,7 +170,7 @@ TestRPCRacesChild::AnswerRace(bool* hasReply) } bool -TestRPCRacesChild::AnswerStackFrame() +TestInterruptRacesChild::AnswerStackFrame() { // reset for the second test mHasReply = false; @@ -185,7 +185,7 @@ TestRPCRacesChild::AnswerStackFrame() } bool -TestRPCRacesChild::RecvWakeup() +TestInterruptRacesChild::RecvWakeup() { bool dontcare; if (!CallRace(&dontcare)) @@ -196,7 +196,7 @@ TestRPCRacesChild::RecvWakeup() } bool -TestRPCRacesChild::AnswerStackFrame3() +TestInterruptRacesChild::AnswerStackFrame3() { if (!CallStackFrame3()) fail("can't set up stack frame"); @@ -204,7 +204,7 @@ TestRPCRacesChild::AnswerStackFrame3() } bool -TestRPCRacesChild::RecvWakeup3() +TestInterruptRacesChild::RecvWakeup3() { if (!CallParent()) fail("can't set up race condition"); @@ -212,7 +212,7 @@ TestRPCRacesChild::RecvWakeup3() } bool -TestRPCRacesChild::AnswerChild() +TestInterruptRacesChild::AnswerChild() { bool parentAnsweredParent; // the parent is supposed to win the race, which means its diff --git a/ipc/ipdl/test/cxx/TestRPCRaces.h b/ipc/ipdl/test/cxx/TestInterruptRaces.h similarity index 69% rename from ipc/ipdl/test/cxx/TestRPCRaces.h rename to ipc/ipdl/test/cxx/TestInterruptRaces.h index ae563f70f890..81a3269e8cad 100644 --- a/ipc/ipdl/test/cxx/TestRPCRaces.h +++ b/ipc/ipdl/test/cxx/TestInterruptRaces.h @@ -1,27 +1,27 @@ -#ifndef mozilla__ipdltest_TestRPCRaces_h -#define mozilla__ipdltest_TestRPCRaces_h +#ifndef mozilla__ipdltest_TestInterruptRaces_h +#define mozilla__ipdltest_TestInterruptRaces_h #include "mozilla/_ipdltest/IPDLUnitTests.h" -#include "mozilla/_ipdltest/PTestRPCRacesParent.h" -#include "mozilla/_ipdltest/PTestRPCRacesChild.h" +#include "mozilla/_ipdltest/PTestInterruptRacesParent.h" +#include "mozilla/_ipdltest/PTestInterruptRacesChild.h" namespace mozilla { namespace _ipdltest { -mozilla::ipc::RacyRPCPolicy +mozilla::ipc::RacyInterruptPolicy MediateRace(const mozilla::ipc::MessageChannel::Message& parent, const mozilla::ipc::MessageChannel::Message& child); -class TestRPCRacesParent : - public PTestRPCRacesParent +class TestInterruptRacesParent : + public PTestInterruptRacesParent { public: - TestRPCRacesParent() : mHasReply(false), + TestInterruptRacesParent() : mHasReply(false), mChildHasReply(false), mAnsweredParent(false) { } - virtual ~TestRPCRacesParent() { } + virtual ~TestInterruptRacesParent() { } static bool RunTestInProcesses() { return true; } static bool RunTestInThreads() { return true; } @@ -47,8 +47,8 @@ protected: virtual bool RecvGetAnsweredParent(bool* answeredParent) MOZ_OVERRIDE; - virtual mozilla::ipc::RacyRPCPolicy - MediateRPCRace(const Message& parent, const Message& child) MOZ_OVERRIDE + virtual mozilla::ipc::RacyInterruptPolicy + MediateInterruptRace(const Message& parent, const Message& child) MOZ_OVERRIDE { return MediateRace(parent, child); } @@ -75,12 +75,12 @@ private: }; -class TestRPCRacesChild : - public PTestRPCRacesChild +class TestInterruptRacesChild : + public PTestInterruptRacesChild { public: - TestRPCRacesChild() : mHasReply(false) { } - virtual ~TestRPCRacesChild() { } + TestInterruptRacesChild() : mHasReply(false) { } + virtual ~TestInterruptRacesChild() { } protected: virtual bool @@ -104,8 +104,8 @@ protected: virtual bool AnswerChild() MOZ_OVERRIDE; - virtual mozilla::ipc::RacyRPCPolicy - MediateRPCRace(const Message& parent, const Message& child) MOZ_OVERRIDE + virtual mozilla::ipc::RacyInterruptPolicy + MediateInterruptRace(const Message& parent, const Message& child) MOZ_OVERRIDE { return MediateRace(parent, child); } @@ -126,4 +126,4 @@ private: } // namespace mozilla -#endif // ifndef mozilla__ipdltest_TestRPCRaces_h +#endif // ifndef mozilla__ipdltest_TestInterruptRaces_h diff --git a/ipc/ipdl/test/cxx/TestRPCShutdownRace.cpp b/ipc/ipdl/test/cxx/TestInterruptShutdownRace.cpp similarity index 66% rename from ipc/ipdl/test/cxx/TestRPCShutdownRace.cpp rename to ipc/ipdl/test/cxx/TestInterruptShutdownRace.cpp index a913bcec0e24..7f18c4c6872e 100644 --- a/ipc/ipdl/test/cxx/TestRPCShutdownRace.cpp +++ b/ipc/ipdl/test/cxx/TestInterruptShutdownRace.cpp @@ -1,13 +1,13 @@ -#include "TestRPCShutdownRace.h" +#include "TestInterruptShutdownRace.h" #include "IPDLUnitTests.h" // fail etc. #include "IPDLUnitTestSubprocess.h" template<> -struct RunnableMethodTraits +struct RunnableMethodTraits { - static void RetainCallee(mozilla::_ipdltest::TestRPCShutdownRaceParent* obj) { } - static void ReleaseCallee(mozilla::_ipdltest::TestRPCShutdownRaceParent* obj) { } + static void RetainCallee(mozilla::_ipdltest::TestInterruptShutdownRaceParent* obj) { } + static void ReleaseCallee(mozilla::_ipdltest::TestInterruptShutdownRaceParent* obj) { } }; @@ -36,37 +36,37 @@ void Done() } // namespace -TestRPCShutdownRaceParent::TestRPCShutdownRaceParent() +TestInterruptShutdownRaceParent::TestInterruptShutdownRaceParent() { - MOZ_COUNT_CTOR(TestRPCShutdownRaceParent); + MOZ_COUNT_CTOR(TestInterruptShutdownRaceParent); } -TestRPCShutdownRaceParent::~TestRPCShutdownRaceParent() +TestInterruptShutdownRaceParent::~TestInterruptShutdownRaceParent() { - MOZ_COUNT_DTOR(TestRPCShutdownRaceParent); + MOZ_COUNT_DTOR(TestInterruptShutdownRaceParent); } void -TestRPCShutdownRaceParent::Main() +TestInterruptShutdownRaceParent::Main() { if (!SendStart()) fail("sending Start"); } bool -TestRPCShutdownRaceParent::RecvStartDeath() +TestInterruptShutdownRaceParent::RecvStartDeath() { // this will be ordered before the OnMaybeDequeueOne event of // Orphan in the queue MessageLoop::current()->PostTask( FROM_HERE, NewRunnableMethod(this, - &TestRPCShutdownRaceParent::StartShuttingDown)); + &TestInterruptShutdownRaceParent::StartShuttingDown)); return true; } void -TestRPCShutdownRaceParent::StartShuttingDown() +TestInterruptShutdownRaceParent::StartShuttingDown() { // NB: we sleep here to try and avoid receiving the Orphan message // while waiting for the CallExit() reply. if we fail at that, it @@ -79,7 +79,7 @@ TestRPCShutdownRaceParent::StartShuttingDown() Close(); - delete static_cast(gParentActor); + delete static_cast(gParentActor); gParentActor = nullptr; XRE_GetIOMessageLoop()->PostTask(FROM_HERE, @@ -93,7 +93,7 @@ TestRPCShutdownRaceParent::StartShuttingDown() } bool -TestRPCShutdownRaceParent::RecvOrphan() +TestInterruptShutdownRaceParent::RecvOrphan() { // it would be nice to fail() here, but we'll process this message // while waiting for the reply CallExit(). The OnMaybeDequeueOne @@ -105,18 +105,18 @@ TestRPCShutdownRaceParent::RecvOrphan() //----------------------------------------------------------------------------- // child -TestRPCShutdownRaceChild::TestRPCShutdownRaceChild() +TestInterruptShutdownRaceChild::TestInterruptShutdownRaceChild() { - MOZ_COUNT_CTOR(TestRPCShutdownRaceChild); + MOZ_COUNT_CTOR(TestInterruptShutdownRaceChild); } -TestRPCShutdownRaceChild::~TestRPCShutdownRaceChild() +TestInterruptShutdownRaceChild::~TestInterruptShutdownRaceChild() { - MOZ_COUNT_DTOR(TestRPCShutdownRaceChild); + MOZ_COUNT_DTOR(TestInterruptShutdownRaceChild); } bool -TestRPCShutdownRaceChild::RecvStart() +TestInterruptShutdownRaceChild::RecvStart() { if (!SendStartDeath()) fail("sending StartDeath"); @@ -132,7 +132,7 @@ TestRPCShutdownRaceChild::RecvStart() } bool -TestRPCShutdownRaceChild::AnswerExit() +TestInterruptShutdownRaceChild::AnswerExit() { _exit(0); NS_RUNTIMEABORT("unreached"); diff --git a/ipc/ipdl/test/cxx/TestRPCShutdownRace.h b/ipc/ipdl/test/cxx/TestInterruptShutdownRace.h similarity index 57% rename from ipc/ipdl/test/cxx/TestRPCShutdownRace.h rename to ipc/ipdl/test/cxx/TestInterruptShutdownRace.h index 41b2fa9df728..b6fbd6104925 100644 --- a/ipc/ipdl/test/cxx/TestRPCShutdownRace.h +++ b/ipc/ipdl/test/cxx/TestInterruptShutdownRace.h @@ -1,21 +1,21 @@ -#ifndef mozilla__ipdltest_TestRPCShutdownRace_h -#define mozilla__ipdltest_TestRPCShutdownRace_h 1 +#ifndef mozilla__ipdltest_TestInterruptShutdownRace_h +#define mozilla__ipdltest_TestInterruptShutdownRace_h 1 #include "mozilla/_ipdltest/IPDLUnitTests.h" -#include "mozilla/_ipdltest/PTestRPCShutdownRaceParent.h" -#include "mozilla/_ipdltest/PTestRPCShutdownRaceChild.h" +#include "mozilla/_ipdltest/PTestInterruptShutdownRaceParent.h" +#include "mozilla/_ipdltest/PTestInterruptShutdownRaceChild.h" namespace mozilla { namespace _ipdltest { -class TestRPCShutdownRaceParent : - public PTestRPCShutdownRaceParent +class TestInterruptShutdownRaceParent : + public PTestInterruptShutdownRaceParent { public: - TestRPCShutdownRaceParent(); - virtual ~TestRPCShutdownRaceParent(); + TestInterruptShutdownRaceParent(); + virtual ~TestInterruptShutdownRaceParent(); static bool RunTestInProcesses() { return true; } // FIXME/bug 703323 Could work if modified @@ -38,12 +38,12 @@ protected: }; -class TestRPCShutdownRaceChild : - public PTestRPCShutdownRaceChild +class TestInterruptShutdownRaceChild : + public PTestInterruptShutdownRaceChild { public: - TestRPCShutdownRaceChild(); - virtual ~TestRPCShutdownRaceChild(); + TestInterruptShutdownRaceChild(); + virtual ~TestInterruptShutdownRaceChild(); protected: virtual bool RecvStart() MOZ_OVERRIDE; @@ -61,4 +61,4 @@ protected: } // namespace mozilla -#endif // ifndef mozilla__ipdltest_TestRPCShutdownRace_h +#endif // ifndef mozilla__ipdltest_TestInterruptShutdownRace_h diff --git a/ipc/ipdl/test/cxx/TestRaceDeferral.cpp b/ipc/ipdl/test/cxx/TestRaceDeferral.cpp index d00bfea1fc00..81acae975ab5 100644 --- a/ipc/ipdl/test/cxx/TestRaceDeferral.cpp +++ b/ipc/ipdl/test/cxx/TestRaceDeferral.cpp @@ -8,11 +8,11 @@ typedef mozilla::ipc::MessageChannel::Message Message; namespace mozilla { namespace _ipdltest { -static RacyRPCPolicy +static RacyInterruptPolicy MediateRace(const Message& parent, const Message& child) { return (PTestRaceDeferral::Msg_Win__ID == parent.type()) ? - RRPParentWins : RRPChildWins; + RIPParentWins : RIPChildWins; } //----------------------------------------------------------------------------- @@ -66,8 +66,8 @@ TestRaceDeferralParent::AnswerLose() return true; } -RacyRPCPolicy -TestRaceDeferralParent::MediateRPCRace(const Message& parent, +RacyInterruptPolicy +TestRaceDeferralParent::MediateInterruptRace(const Message& parent, const Message& child) { return MediateRace(parent, child); @@ -106,8 +106,8 @@ TestRaceDeferralChild::AnswerRpc() return true; } -RacyRPCPolicy -TestRaceDeferralChild::MediateRPCRace(const Message& parent, +RacyInterruptPolicy +TestRaceDeferralChild::MediateInterruptRace(const Message& parent, const Message& child) { return MediateRace(parent, child); diff --git a/ipc/ipdl/test/cxx/TestRaceDeferral.h b/ipc/ipdl/test/cxx/TestRaceDeferral.h index e0645e71d141..1e84fbedaa73 100644 --- a/ipc/ipdl/test/cxx/TestRaceDeferral.h +++ b/ipc/ipdl/test/cxx/TestRaceDeferral.h @@ -26,8 +26,8 @@ protected: virtual bool AnswerLose() MOZ_OVERRIDE; - virtual mozilla::ipc::RacyRPCPolicy - MediateRPCRace(const Message& parent, const Message& child) MOZ_OVERRIDE; + virtual mozilla::ipc::RacyInterruptPolicy + MediateInterruptRace(const Message& parent, const Message& child) MOZ_OVERRIDE; virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE { @@ -55,8 +55,8 @@ protected: virtual bool AnswerRpc() MOZ_OVERRIDE; - virtual mozilla::ipc::RacyRPCPolicy - MediateRPCRace(const Message& parent, const Message& child) MOZ_OVERRIDE; + virtual mozilla::ipc::RacyInterruptPolicy + MediateInterruptRace(const Message& parent, const Message& child) MOZ_OVERRIDE; virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE { diff --git a/ipc/ipdl/test/cxx/TestRacyRPCReplies.cpp b/ipc/ipdl/test/cxx/TestRacyInterruptReplies.cpp similarity index 68% rename from ipc/ipdl/test/cxx/TestRacyRPCReplies.cpp rename to ipc/ipdl/test/cxx/TestRacyInterruptReplies.cpp index 6402d629588a..513b84f73ed8 100644 --- a/ipc/ipdl/test/cxx/TestRacyRPCReplies.cpp +++ b/ipc/ipdl/test/cxx/TestRacyInterruptReplies.cpp @@ -1,4 +1,4 @@ -#include "TestRacyRPCReplies.h" +#include "TestRacyInterruptReplies.h" #include "IPDLUnitTests.h" // fail etc. @@ -8,18 +8,18 @@ namespace _ipdltest { //----------------------------------------------------------------------------- // parent -TestRacyRPCRepliesParent::TestRacyRPCRepliesParent() : mReplyNum(0) +TestRacyInterruptRepliesParent::TestRacyInterruptRepliesParent() : mReplyNum(0) { - MOZ_COUNT_CTOR(TestRacyRPCRepliesParent); + MOZ_COUNT_CTOR(TestRacyInterruptRepliesParent); } -TestRacyRPCRepliesParent::~TestRacyRPCRepliesParent() +TestRacyInterruptRepliesParent::~TestRacyInterruptRepliesParent() { - MOZ_COUNT_DTOR(TestRacyRPCRepliesParent); + MOZ_COUNT_DTOR(TestRacyInterruptRepliesParent); } void -TestRacyRPCRepliesParent::Main() +TestRacyInterruptRepliesParent::Main() { int replyNum = -1; if (!CallR_(&replyNum)) @@ -33,7 +33,7 @@ TestRacyRPCRepliesParent::Main() } bool -TestRacyRPCRepliesParent::RecvA_() +TestRacyInterruptRepliesParent::RecvA_() { int replyNum = -1; // this R() call races with the reply being generated by the other @@ -51,7 +51,7 @@ TestRacyRPCRepliesParent::RecvA_() } bool -TestRacyRPCRepliesParent::Answer_R(int* replyNum) +TestRacyInterruptRepliesParent::Answer_R(int* replyNum) { *replyNum = ++mReplyNum; @@ -65,18 +65,18 @@ TestRacyRPCRepliesParent::Answer_R(int* replyNum) //----------------------------------------------------------------------------- // child -TestRacyRPCRepliesChild::TestRacyRPCRepliesChild() : mReplyNum(0) +TestRacyInterruptRepliesChild::TestRacyInterruptRepliesChild() : mReplyNum(0) { - MOZ_COUNT_CTOR(TestRacyRPCRepliesChild); + MOZ_COUNT_CTOR(TestRacyInterruptRepliesChild); } -TestRacyRPCRepliesChild::~TestRacyRPCRepliesChild() +TestRacyInterruptRepliesChild::~TestRacyInterruptRepliesChild() { - MOZ_COUNT_DTOR(TestRacyRPCRepliesChild); + MOZ_COUNT_DTOR(TestRacyInterruptRepliesChild); } bool -TestRacyRPCRepliesChild::AnswerR_(int* replyNum) +TestRacyInterruptRepliesChild::AnswerR_(int* replyNum) { *replyNum = ++mReplyNum; @@ -87,7 +87,7 @@ TestRacyRPCRepliesChild::AnswerR_(int* replyNum) } bool -TestRacyRPCRepliesChild::RecvChildTest() +TestRacyInterruptRepliesChild::RecvChildTest() { int replyNum = -1; if (!Call_R(&replyNum)) @@ -102,7 +102,7 @@ TestRacyRPCRepliesChild::RecvChildTest() } bool -TestRacyRPCRepliesChild::Recv_A() +TestRacyInterruptRepliesChild::Recv_A() { int replyNum = -1; diff --git a/ipc/ipdl/test/cxx/TestRacyRPCReplies.h b/ipc/ipdl/test/cxx/TestRacyInterruptReplies.h similarity index 61% rename from ipc/ipdl/test/cxx/TestRacyRPCReplies.h rename to ipc/ipdl/test/cxx/TestRacyInterruptReplies.h index 7e386bdc5367..58ac637d0e1d 100644 --- a/ipc/ipdl/test/cxx/TestRacyRPCReplies.h +++ b/ipc/ipdl/test/cxx/TestRacyInterruptReplies.h @@ -1,21 +1,21 @@ -#ifndef mozilla__ipdltest_TestRacyRPCReplies_h -#define mozilla__ipdltest_TestRacyRPCReplies_h 1 +#ifndef mozilla__ipdltest_TestRacyInterruptReplies_h +#define mozilla__ipdltest_TestRacyInterruptReplies_h 1 #include "mozilla/_ipdltest/IPDLUnitTests.h" -#include "mozilla/_ipdltest/PTestRacyRPCRepliesParent.h" -#include "mozilla/_ipdltest/PTestRacyRPCRepliesChild.h" +#include "mozilla/_ipdltest/PTestRacyInterruptRepliesParent.h" +#include "mozilla/_ipdltest/PTestRacyInterruptRepliesChild.h" namespace mozilla { namespace _ipdltest { -class TestRacyRPCRepliesParent : - public PTestRacyRPCRepliesParent +class TestRacyInterruptRepliesParent : + public PTestRacyInterruptRepliesParent { public: - TestRacyRPCRepliesParent(); - virtual ~TestRacyRPCRepliesParent(); + TestRacyInterruptRepliesParent(); + virtual ~TestRacyInterruptRepliesParent(); static bool RunTestInProcesses() { return true; } static bool RunTestInThreads() { return true; } @@ -40,12 +40,12 @@ private: }; -class TestRacyRPCRepliesChild : - public PTestRacyRPCRepliesChild +class TestRacyInterruptRepliesChild : + public PTestRacyInterruptRepliesChild { public: - TestRacyRPCRepliesChild(); - virtual ~TestRacyRPCRepliesChild(); + TestRacyInterruptRepliesChild(); + virtual ~TestRacyInterruptRepliesChild(); protected: virtual bool AnswerR_(int* replyNum) MOZ_OVERRIDE; @@ -70,4 +70,4 @@ private: } // namespace mozilla -#endif // ifndef mozilla__ipdltest_TestRacyRPCReplies_h +#endif // ifndef mozilla__ipdltest_TestRacyInterruptReplies_h diff --git a/ipc/ipdl/test/cxx/moz.build b/ipc/ipdl/test/cxx/moz.build index 08deec61e477..5e9962b9b9ce 100644 --- a/ipc/ipdl/test/cxx/moz.build +++ b/ipc/ipdl/test/cxx/moz.build @@ -48,6 +48,9 @@ IPDL_SOURCES += [ 'PTestIndirectProtocolParamFirst.ipdl', 'PTestIndirectProtocolParamManage.ipdl', 'PTestIndirectProtocolParamSecond.ipdl', + 'PTestInterruptErrorCleanup.ipdl', + 'PTestInterruptRaces.ipdl', + 'PTestInterruptShutdownRace.ipdl', 'PTestJSON.ipdl', 'PTestLatency.ipdl', 'PTestManyChildAllocs.ipdl', @@ -59,11 +62,8 @@ IPDL_SOURCES += [ 'PTestNestedLoops.ipdl', 'PTestOpens.ipdl', 'PTestOpensOpened.ipdl', - 'PTestRPCErrorCleanup.ipdl', - 'PTestRPCRaces.ipdl', - 'PTestRPCShutdownRace.ipdl', 'PTestRaceDeferral.ipdl', - 'PTestRacyRPCReplies.ipdl', + 'PTestRacyInterruptReplies.ipdl', 'PTestRacyReentry.ipdl', 'PTestRacyUndefer.ipdl', 'PTestSanity.ipdl', diff --git a/ipc/ipdl/test/ipdl/error/compressCtor.ipdl b/ipc/ipdl/test/ipdl/error/compressCtor.ipdl index 535b205b61ed..f1ea880b1d70 100644 --- a/ipc/ipdl/test/ipdl/error/compressCtor.ipdl +++ b/ipc/ipdl/test/ipdl/error/compressCtor.ipdl @@ -1,6 +1,6 @@ include protocol compressCtorManagee; -rpc protocol compressCtor { +intr protocol compressCtor { manages compressCtorManagee; parent: diff --git a/ipc/ipdl/test/ipdl/error/compressCtorManagee.ipdl b/ipc/ipdl/test/ipdl/error/compressCtorManagee.ipdl index 0214d7055b2a..3d0c66c21627 100644 --- a/ipc/ipdl/test/ipdl/error/compressCtorManagee.ipdl +++ b/ipc/ipdl/test/ipdl/error/compressCtorManagee.ipdl @@ -1,6 +1,6 @@ include protocol compressCtor; -rpc protocol compressCtorManagee { +intr protocol compressCtorManagee { manager compressCtor; child: diff --git a/ipc/ipdl/test/ipdl/error/intrMessageCompress.ipdl b/ipc/ipdl/test/ipdl/error/intrMessageCompress.ipdl new file mode 100644 index 000000000000..dc0cdd80071c --- /dev/null +++ b/ipc/ipdl/test/ipdl/error/intrMessageCompress.ipdl @@ -0,0 +1,6 @@ +intr protocol intrMessageCompress { +parent: + intr foo() compress; +child: + intr bar() compress; +}; diff --git a/ipc/ipdl/test/ipdl/error/rpcMessageCompress.ipdl b/ipc/ipdl/test/ipdl/error/rpcMessageCompress.ipdl deleted file mode 100644 index 578c40854d8d..000000000000 --- a/ipc/ipdl/test/ipdl/error/rpcMessageCompress.ipdl +++ /dev/null @@ -1,6 +0,0 @@ -rpc protocol rpcMessageCompress { -parent: - rpc foo() compress; -child: - rpc bar() compress; -}; diff --git a/ipc/ipdl/test/ipdl/error/syncParentToChild.ipdl b/ipc/ipdl/test/ipdl/error/syncParentToChild.ipdl index e787198afd8c..f0d298fe555a 100644 --- a/ipc/ipdl/test/ipdl/error/syncParentToChild.ipdl +++ b/ipc/ipdl/test/ipdl/error/syncParentToChild.ipdl @@ -1,4 +1,4 @@ -rpc protocol syncParentToChild { +intr protocol syncParentToChild { // can't declare sync parent-to-child messages child: sync Msg(); diff --git a/ipc/ipdl/test/ipdl/error/tooWeakInterruptAsync.ipdl b/ipc/ipdl/test/ipdl/error/tooWeakInterruptAsync.ipdl new file mode 100644 index 000000000000..a0ee9a47c940 --- /dev/null +++ b/ipc/ipdl/test/ipdl/error/tooWeakInterruptAsync.ipdl @@ -0,0 +1,7 @@ +protocol tooWeakRPCAsync { + + // it's an error to declare an async protocol with an intr message + +parent: intr Msg(); + +}; diff --git a/ipc/ipdl/test/ipdl/error/tooWeakRPCAsync.ipdl b/ipc/ipdl/test/ipdl/error/tooWeakRPCAsync.ipdl deleted file mode 100644 index bd9db7e15870..000000000000 --- a/ipc/ipdl/test/ipdl/error/tooWeakRPCAsync.ipdl +++ /dev/null @@ -1,7 +0,0 @@ -protocol tooWeakRPCAsync { - - // it's an error to declare an async protocol with an rpc message - -parent: rpc Msg(); - -}; diff --git a/ipc/ipdl/test/ipdl/error/trans_WrongDirection4.ipdl b/ipc/ipdl/test/ipdl/error/trans_WrongDirection4.ipdl index 0f608a092d0c..72ce44b54296 100644 --- a/ipc/ipdl/test/ipdl/error/trans_WrongDirection4.ipdl +++ b/ipc/ipdl/test/ipdl/error/trans_WrongDirection4.ipdl @@ -1,7 +1,7 @@ -rpc protocol trans_WrongDirection4 { +intr protocol trans_WrongDirection4 { child: - rpc Msg(); + intr Msg(); __delete__(); state S1: diff --git a/ipc/ipdl/test/ipdl/error/trans_WrongDirection5.ipdl b/ipc/ipdl/test/ipdl/error/trans_WrongDirection5.ipdl index 2e5b8fa15b40..8fd9e066e77b 100644 --- a/ipc/ipdl/test/ipdl/error/trans_WrongDirection5.ipdl +++ b/ipc/ipdl/test/ipdl/error/trans_WrongDirection5.ipdl @@ -1,7 +1,7 @@ -rpc protocol trans_WrongDirection5 { +intr protocol trans_WrongDirection5 { parent: - rpc Msg(); + intr Msg(); __delete__() state S1: diff --git a/ipc/ipdl/test/ipdl/error/trans_WrongName4.ipdl b/ipc/ipdl/test/ipdl/error/trans_WrongName4.ipdl index 5b01ee4b1f70..f503d3e91f0b 100644 --- a/ipc/ipdl/test/ipdl/error/trans_WrongName4.ipdl +++ b/ipc/ipdl/test/ipdl/error/trans_WrongName4.ipdl @@ -1,7 +1,7 @@ -rpc protocol trans_WrongName4 { +intr protocol trans_WrongName4 { child: - rpc Msg(); + intr Msg(); __delete__(); state S1: diff --git a/ipc/ipdl/test/ipdl/error/trans_WrongName5.ipdl b/ipc/ipdl/test/ipdl/error/trans_WrongName5.ipdl index e3cf82350a7f..4578151e93f1 100644 --- a/ipc/ipdl/test/ipdl/error/trans_WrongName5.ipdl +++ b/ipc/ipdl/test/ipdl/error/trans_WrongName5.ipdl @@ -1,7 +1,7 @@ -rpc protocol trans_WrongName5 { +intr protocol trans_WrongName5 { parent: - rpc Msg(); + intr Msg(); __delete__(); state S1: diff --git a/ipc/ipdl/test/ipdl/ok/intrProtocol.ipdl b/ipc/ipdl/test/ipdl/ok/intrProtocol.ipdl new file mode 100644 index 000000000000..d0dd8e9bb34c --- /dev/null +++ b/ipc/ipdl/test/ipdl/ok/intrProtocol.ipdl @@ -0,0 +1,13 @@ +intr protocol intrProtocol { + + // sanity check of Interrupt protocols +child: + AsyncMsg(); + +parent: + sync SyncMsg(int i) returns (int r); + +both: + intr InterruptMsg(int x) returns (int y); + +}; diff --git a/ipc/ipdl/test/ipdl/ok/jetpackContent.ipdl b/ipc/ipdl/test/ipdl/ok/jetpackContent.ipdl index 89f960dbeb9a..2957518acd51 100644 --- a/ipc/ipdl/test/ipdl/ok/jetpackContent.ipdl +++ b/ipc/ipdl/test/ipdl/ok/jetpackContent.ipdl @@ -1,7 +1,7 @@ include protocol content; include protocol jetpack; -rpc protocol jetpackContent { +intr protocol jetpackContent { bridges jetpack, content; child: diff --git a/ipc/ipdl/test/ipdl/ok/messageCompress.ipdl b/ipc/ipdl/test/ipdl/ok/messageCompress.ipdl index 96d938c64430..dd563fa3bc3e 100644 --- a/ipc/ipdl/test/ipdl/ok/messageCompress.ipdl +++ b/ipc/ipdl/test/ipdl/ok/messageCompress.ipdl @@ -1,4 +1,4 @@ -rpc protocol messageCompress { +intr protocol messageCompress { child: async foo() compress; }; diff --git a/ipc/ipdl/test/ipdl/ok/plugin.ipdl b/ipc/ipdl/test/ipdl/ok/plugin.ipdl index 2b29858e5b28..c8d218fffec7 100644 --- a/ipc/ipdl/test/ipdl/ok/plugin.ipdl +++ b/ipc/ipdl/test/ipdl/ok/plugin.ipdl @@ -1,4 +1,4 @@ -rpc protocol plugin { +intr protocol plugin { child: __delete__(); diff --git a/ipc/ipdl/test/ipdl/ok/rpcProtocol.ipdl b/ipc/ipdl/test/ipdl/ok/rpcProtocol.ipdl deleted file mode 100644 index 438817cd7d98..000000000000 --- a/ipc/ipdl/test/ipdl/ok/rpcProtocol.ipdl +++ /dev/null @@ -1,13 +0,0 @@ -rpc protocol rpcProtocol { - - // sanity check of RPC protocols -child: - AsyncMsg(); - -parent: - sync SyncMsg(int i) returns (int r); - -both: - rpc RPCMsg(int x) returns (int y); - -}; diff --git a/ipc/ipdl/test/ipdl/ok/shmem.ipdl b/ipc/ipdl/test/ipdl/ok/shmem.ipdl index ac9d9f26a824..f8ce9fee03ab 100644 --- a/ipc/ipdl/test/ipdl/ok/shmem.ipdl +++ b/ipc/ipdl/test/ipdl/ok/shmem.ipdl @@ -3,11 +3,11 @@ union Foo { Shmem; }; -rpc protocol shmem { +intr protocol shmem { parent: Msg(Shmem s, Foo f); sync SyncMsg(Shmem s, Foo f) returns (Shmem t, Foo g); - rpc RPCMsg(Shmem s, Foo f) + intr InterruptMsg(Shmem s, Foo f) returns (Shmem t, Foo g); }; diff --git a/ipc/testshell/PTestShell.ipdl b/ipc/testshell/PTestShell.ipdl index f7ad8cd89a52..82fe89848a55 100644 --- a/ipc/testshell/PTestShell.ipdl +++ b/ipc/testshell/PTestShell.ipdl @@ -9,7 +9,7 @@ include protocol PTestShellCommand; namespace mozilla { namespace ipc { -rpc protocol PTestShell +intr protocol PTestShell { manager PContent; diff --git a/js/ipc/PJavaScript.ipdl b/js/ipc/PJavaScript.ipdl index 18eb4f888ced..2df8816d0c69 100644 --- a/js/ipc/PJavaScript.ipdl +++ b/js/ipc/PJavaScript.ipdl @@ -14,7 +14,7 @@ using mozilla::void_t; namespace mozilla { namespace jsipc { -rpc protocol PJavaScript +intr protocol PJavaScript { manager PContent;