Commit Graph

64 Commits

Author SHA1 Message Date
Chris Jones
ca19eda863 Bug 592002: Out-of-turn RPC replies should be taken into consideration when checking for races, or else we can defer in-calls when we shouldn't. r=bsmedberg a=blocking-beta6 2010-09-01 13:01:50 -05:00
Jim Mathies
0879ff6221 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
e9cf1d1dad 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
695ab55828 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
Gavin Sharp
c862b2bb4f Bug 552889: avoid spamming stderr in release builds, r=cjones 2010-05-06 15:17:08 -04:00
Benjamin Smedberg
041170d975 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
a2d53e0f5e Bug 545733: |const|-ify some *Channel methods. r=bent 2010-04-27 00:42:59 -05:00
Chris Jones
2967980f28 Bug 544518: Send Messages directly through the Transport on the IO thread rather than through a no-added-value AsyncChannel indirection. r=bent 2010-04-22 18:53:30 -05:00
Chris Jones
cc1789ceb6 Bug 554262 - [OOPP] Silverlight context menu hangs the browser. r=bent, jmathies. 2010-03-24 16:49:54 -05:00
Jim Mathies
5ac0744b15 Bug 553606 - [OOPP] Limit spin loop to a call depth of one. r=bent. 2010-03-24 16:49:05 -05:00
Chris Jones
f6e896ba0c Bug 554466: Only EnqueuePending when there's been an rpc out-call. r=bent 2010-03-24 00:52:47 -05:00
Chris Jones
7e3004fa65 Bug 552014 - Treat RPC replies received in an event loop nested inside the one from which the call was made as if they had arrived out of order. r=jimm. 2010-03-19 01:57:00 -05:00
Chris Jones
2ec17c6ad8 Bug 552014: Don't run OnMaybeDequeueOne from a nested context. r=bent 2010-03-18 17:52:33 -05:00
Chris Jones
8e866ba4fb 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
230c2a994e Bug 552294: *Channel::OnError must run atomically. r=bent 2010-03-18 17:52:28 -05:00
Chris Jones
51582e89d2 b=550026 Cancel PluginCrashed when PluginModule is deleted. r=bsmedberg 2010-03-08 09:16:02 +13:00
Benjamin Smedberg
9aa6fd4913 Bug 545342 - Remove the RPCChannel assertions about mismatched RPC stacks because mismatched stacks are normal when asynchronous messages are pending which cause secondary RPC messages, r=cjones 2010-03-11 17:17:35 -08:00
Chris Jones
41ab2c5abe Merge backout 2010-03-11 05:07:51 -06:00
Chris Jones
ec36ea088a Backing out bug 550026 due to orange 2010-03-11 05:07:42 -06:00
Chris Jones
bfbfdfedc8 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
9178b38a9f Bug 546035: Check if we're still connected before dispatching a received message. r=bsmedberg 2010-03-11 01:35:26 -06:00
Chris Jones
3cbb7db096 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
d33f0ad565 Bug 545342: Cancel dequeue task on channel error. r=cjones 2010-02-15 20:47:00 +13:00
Chris Jones
69d15304c9 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
Chris Jones
f7ab808b8f Bug 548214: Seqno's go up in the parent, down in the child. r=bsmedberg 2010-02-24 15:59:23 -06:00
Ben Turner
570cb5811c Bug 547247 - '[OOPP] Crash [@ RtlEnterCriticalSection ] when ending mozilla-runtime on a page that does not contain a plugin'. Bustage fix 2010-02-19 12:45:47 -08:00
Ben Turner
079515fce8 Bug 547247 - '[OOPP] Crash [@ RtlEnterCriticalSection ] when ending mozilla-runtime on a page that does not contain a plugin'. r=bsmedberg. 2010-02-19 12:39:38 -08:00
Ben Turner
36a1e2b757 Bug 546797 - '[OOPP] Assertion in RPCChannel's EnqueuePendingMessages: ABORT: expected mDeferred to have 0 or 1 items' r=jimm 2010-02-18 12:12:54 -08:00
Chris Jones
7e0bd1c978 Bug 545757: Don't post replies to the IO thread after a connection error. r=bent
--HG--
extra : transplant_source : %AB%07%AF%B8%C0L%CC%82%16%CDH%3Fg%87rH%60ekr
2010-02-11 17:33:53 -06:00
Chris Jones
9b71f6eb76 Bug 545338: Make the IPC hang detector tolerate spurious wake-ups. Possibly temporary. irc-r=jimm
--HG--
extra : transplant_source : E%DC%C1%E1%0Dv%E1%F4%1DN0%AD%95b%AA%EFXi%F9%1F
2010-02-10 15:41:44 -06:00
Chris Jones
3ea312dfdf 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
Chris Jones
f688c776b0 Fix linux bustage.
--HG--
extra : transplant_source : %FE%8B%BA%B1o%011%9A%CD5%2B%FC%CC%5B%A0%9EY%9F%C4%0F
2010-02-09 17:04:06 -06:00
Jim Mathies
b6a87b5083 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
ad8d50cbf1 Follow-up to bug 540886: address review comments I forgot to before pushing.
--HG--
extra : transplant_source : a%25%DF%90g%8A%F0%5C%F7%9B%BEtX%13p9%3Fq%E8%E2
2010-01-27 02:17:17 -06:00
Chris Jones
d12280389c 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
Benjamin Smedberg
d5eb4d3947 Bug 516515 - Don't initialize XPCOM in plugin processes, r=cjones
--HG--
extra : rebase_source : cab356b862a66fb7f5955b1f936944f2395bba3c
2010-02-03 17:17:09 -05:00
Chris Jones
46d968b2f3 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
f4ec1f80fa Bug 521929, part 1: Add a "seqno" field to synchronous messages. r=bent
--HG--
extra : transplant_source : %D0%5D%CF%0DUv%AC%AD%09%F98%C4%14%E2%F8%14%2CUZ%97
2010-01-21 20:04:09 -06:00
Chris Jones
8b16a35dc0 bug 533587: process RPC in-calls deferred because of races until "later". in-person r=bent 2009-12-09 17:15:01 -06:00
Chris Jones
c47450d9a7 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
8ee0dbf5a2 Fix bustage 2009-11-12 14:46:29 -08:00
Ben Turner
82191b418a Bug 525792 - 'Fix leaks running mochitests'. 2009-11-12 14:16:54 -08:00
Chris Jones
8663feb8a0 bug 524767: add better error logging to *Channel. no r?, logging only 2009-10-27 16:32:55 -05:00
Chris Jones
09a6250424 bug 521324: call the multi-threaded GLib initialization function. r=karlt 2009-10-19 11:28:42 -05:00
Chris Jones
a0cb461b15 fix bugs in RPC race resolution 2009-10-09 01:21:39 -05:00
Chris Jones
b71724eb06 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
bb2747448d add racy RPC resolution. also add better debugging info and fix two shared-memory-race bugs. 2009-10-08 16:44:43 -05:00
Ben Turner
64cfab94c4 Add threadsafety assertions to plugin code 2009-10-08 12:11:13 -07:00
Chris Jones
52d43cdb40 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
50ed6c02c5 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