Граф коммитов

53 Коммитов

Автор SHA1 Сообщение Дата
Jim Mathies 3850cadbcc Bug 648935 - Process native events during calls to WaitForNotify in the child process when nested native event loops are detected in the parent. r=bsmedberg. 2011-05-18 06:57:08 -05:00
Chris Jones 9eaad3743e Bug 648935: Need to use the "remote stack depth view" when deciding whether to undefer, too. r=bsmedberg 2011-05-04 15:55:54 -05:00
Chris Jones 240e3f8d9e Bug 556214, part 3: IPC code wants to be using non-reentrant Monitor. r=bent 2011-04-29 14:21:57 -05:00
Justin Lebar 8a42eb0162 Bug 592557 - Eliminate uses of PR_Atomic{Increment,Decrement} functions in favor of PR_ATOMIC_{INCREMENT,DECREMENT} macros. r=bsmedberg,gal
--HG--
extra : rebase_source : 71069eb9c9d61131adee49279e136c8574dabc62
2011-03-28 15:58:49 -04:00
Chris Jones a2647ff2ee Bug 572134: "Undefer" the in-call that lost a race at stack-depth 1, if there is one, when RPCChannel code leaves the C++ stack, so that the in-call can be processed if there is an immediately following out-call. r=bsmedberg 2011-01-12 01:07:17 -06:00
Benedict Hsieh d0a0d4fb01 Bug 592768 - When using async launch, the toplevel actor doesn't have a process handle. Set the process ID with a callback function (OnChannelConnected). r=cjones
--HG--
extra : rebase_source : aa7743035e9a21759d99b9b9fbaf6371b8c82395
2010-10-08 16:24:36 -07:00
Chris Jones 0c16cd5646 Bug 540097: Add a ProcessingError(what) notification interface for top-level actors. r=bent 2010-08-20 18:24:40 -05:00
Jim Mathies fe1ee01716 Bug 558986 - detect and resolve races between MS-COM RPC and IPDL RPC by implementing IMessageFilter and processing pending IPDL RPC calls while waiting for MS-COM RPC responses. Original patch by bsmedberg, r=cjones/jimm/ehsan with followup fixes by Jim Mathies, r=bsmedberg
--HG--
extra : rebase_source : 214029d3188f8aa00948e0dcdc3c11cd279d1569
2010-05-21 11:48:34 -04:00
Jim Mathies 10cc88a617 Bug 558986 - Backout of fix for crashes in TSF with Flash/Silverlight on tablets. CLOSED TREE 2010-05-17 14:36:43 -05:00
Benjamin Smedberg 8a66748579 Bug 558986 - Fix for crashes in TSF with Flash/Silverlight on tablets (OLE/COM nested event loops). r=cjones, jimm, ehsan. 2010-05-17 11:33:34 -05:00
Benjamin Smedberg bad093c6b3 Bug 561817 part A: Entered/ExitedCall callbacks for toplevel actors upon RPC in-calls. r=bsmedberg 2010-04-29 11:49:00 -05:00
Benjamin Smedberg 6f96eb277f Bug 561871 part B: don't use Windows events to enter/exit a nested event loop within an RPC stack frame, because delivery of those events isn't always associated with the correct stack frame, and also because the events can be lost if they race with an incoming RPC reply message. Instead, keep a linked list (on the stack) of RPC frames globally and per-channel, to associate requests to enter a nested event loop with the correct frame, r=jimm
--HG--
extra : rebase_source : 694186dde4643904752c67e0c6eb7a6ad1dd2082
2010-04-28 11:01:09 -04:00
Chris Jones 30361f401e Bug 545733: |const|-ify some *Channel methods. r=bent 2010-04-27 00:42:59 -05:00
Jim Mathies 4e3abdc37b Bug 545338 - RPCChannel should use events rather than thread messages for NotifyWokerThread. r=bent. 2010-03-25 16:53:10 -05:00
Jim Mathies 5b1f0953f8 Bug 553606 - [OOPP] Limit spin loop to a call depth of one. r=bent. 2010-03-24 16:49:05 -05:00
Chris Jones 25b99b72ca Bug 554466: Only EnqueuePending when there's been an rpc out-call. r=bent 2010-03-24 00:52:47 -05:00
Chris Jones c43514fb32 Bug 552014: Don't run OnMaybeDequeueOne from a nested context. r=bent 2010-03-18 17:52:33 -05:00
Chris Jones e15df582cd Bug 533055: Part 3: Track |Message|s being processed on the C++ stack and offer a DumpRPCStack() method to print them. r=bent 2010-03-18 17:52:32 -05:00
Chris Jones 27d68eeed4 b=550026 Cancel PluginCrashed when PluginModule is deleted. r=bsmedberg 2010-03-08 09:16:02 +13:00
Chris Jones d9e3230839 Bug 550026: Don't deliver NotifyError() when RPCChannel code is on the stack. r=bent 2010-03-11 23:21:58 -06:00
Chris Jones 352b298673 Followup to bug 545342: atomically refcount the dequeue task. r=bent 2010-03-11 16:24:15 -06:00
Chris Jones 283e765a0d Merge backout 2010-03-11 05:07:51 -06:00
Chris Jones 25cffd7381 Backing out bug 550026 due to orange 2010-03-11 05:07:42 -06:00
Chris Jones c9b2213be5 Bug 549888: Part 1: Let the channel listener decide how to mediate RPC races, defaulting to "child wins". r=bent 2010-03-11 01:35:30 -06:00
Chris Jones 60005eaec9 b=550026 Don't call PluginCrashed while plugin code is still on the stack r=bsmedberg 2010-03-08 09:16:02 +13:00
Josh Matthews 392ec3b467 Bug 545342: Cancel dequeue task on channel error. r=cjones 2010-02-15 20:47:00 +13:00
Chris Jones 5225241793 Bug 545455, part 2: Expose override-able hooks for top-level IPDL actors to be notified on stack entrance/exit. r=bent
--HG--
extra : rebase_source : e50ede6dbffc9d864ba62eda6d2a622c8b99dece
2010-02-16 12:44:22 -06:00
Chris Jones 40a5e9f8b9 Bug 545455, part 1: Track when RPCChannel code is first pushed on the C++ stack and last popped. r=bent
--HG--
extra : rebase_source : 1bf50aac0f5da1c4322347b42b24e72215543915
2010-02-16 12:44:21 -06:00
Jim Mathies 52c7fa0b75 e10s bustage fix after bad merge. 2010-02-12 00:31:08 -06:00
Chris Jones 08946a2fa4 Bug 540004, part 3: Add a ShouldContinue() interface to IPDL actors that allows them to decide how a hang should be treated. r=bent
--HG--
extra : transplant_source : m%5E%40%9FYJ%EFI%9F%E5%25s%8E%1A%AF%BEQ%01va
2010-02-09 18:02:55 -06:00
Chris Jones 22bb529167 Bug 540004, part 2: Detect hangs while awaiting synchronous IPC replies (on POSIX). r=bent
--HG--
extra : transplant_source : %B8U2%20%5C%1B%06%85%F4%23%DA%CCw%C7%CB%D1%F2%9D%16%1A
2010-02-09 18:02:54 -06:00
Jim Mathies f391eb7ac0 Bug 538918 - [OOPP] Modal system dialogs cause UI freeze w/windowless controls. r=bent, cjones.
--HG--
extra : transplant_source : %28B%08h%F29L%BE%BBEh%E8%92%22%2A%8E%A8%00F%83
2010-02-09 16:34:38 -06:00
Chris Jones cc46bd5e77 Bug 540886, part 2: Offer a BlockChild() interface to RPC protocols that allows parents to prevent children from sending messages back of their own volition until the parent calls UnblockChild(). r=bent
--HG--
extra : transplant_source : %2A%A7%D7%2C%7B%90%1B%9BZS%E5%3E%E1%A1M%F2%A7P%99E
2010-01-27 00:41:32 -06:00
Chris Jones c2b605f46a Bug 521929, part 2: Save racy RPC replies onto a special stack until they're the reply to the right out-call. r=bent
--HG--
extra : transplant_source : %95R%85%B4%AD%0F%3D%9B%A5%18n%9B%94%BF%DA%9A%1BE%40%AC
2010-01-21 20:04:10 -06:00
Chris Jones 588f9c3710 bug 529005: detect child process shutdowns vs. crashes, and expose this information to IPDL actors in a new |ActorDestroy(why)| interface. also ensure that subprotocol actors are notified of shutdown and cleaned up properly. r=bsmedberg r=bent 2009-12-03 02:16:28 -06:00
Ben Turner ea90e1d517 Bug 525792 - 'Fix leaks running mochitests'. 2009-11-12 14:16:54 -08:00
Chris Jones 3178fb7f58 fix bugs in RPC race resolution 2009-10-09 01:21:39 -05:00
Chris Jones 401dbb86c1 hack around lack of C99 format specifiers on Windows 2009-10-08 18:07:24 -05:00
Chris Jones 69f1d9472a followup to RPC race resolution --- convert RPC_DEBUGABORT into RPC_ASSERT, and pre-emptively fix potential spurious race detector alarms 2009-10-08 17:41:18 -05:00
Chris Jones a1bf0da8f0 add racy RPC resolution. also add better debugging info and fix two shared-memory-race bugs. 2009-10-08 16:44:43 -05:00
Chris Jones daaa16efb8 fix sync/RPC deadlock bug that came to me in a dream. r=mr.sandman 2009-09-22 10:23:29 -05:00
Chris Jones acea15b10b bug 517923: support serializing ns*Strings that represent NULL, use this mechanism in PluginInstanceParent/PluginModuleChild. also add basic crash-handling to *Channel code and some NS_OVERRIDE annotations. 2009-09-21 21:02:15 -05:00
Chris Jones 7fdb44540e unblock RPC waiters for async messages, for realz 2009-09-11 02:28:09 -05:00
Chris Jones 45238cc4a4 fix bug introduced by d0d751ed8c3e where receiving multiple async messages while awaiting an RPC reply could screw things up. async messages no longer unblock RPC waiters. 2009-09-11 01:05:42 -05:00
Chris Jones 9988d69938 make RPC unblock for async and sync, as it supposed to have 2009-09-10 18:54:37 -05:00
Chris Jones 94ef1ca8f4 simplify some *Channel code. enforce more SyncChannel invariants 2009-08-19 10:44:56 -05:00
Chris Jones f410d28b87 add race detection to RPC channels. simplify message processing, be stricter about layering guarantees. add more comments and assertions to channel code. 2009-08-19 00:22:01 -05:00
Chris Jones eb2de9cd73 stop flirting with MSVC8 name resolution bug. 2009-07-20 11:37:18 -05:00
Chris Jones 0a10ba6828 >--> @ MSVC8, v4 2009-07-15 17:33:37 -05:00
Chris Jones f58acdf8ef another stab at fixing MSVC8 build bustage. 2009-07-15 17:06:30 -05:00