Commit Graph

38 Commits

Author SHA1 Message Date
Chris Jones
8ae6313c8a Bug 556214, part 3: IPC code wants to be using non-reentrant Monitor. r=bent 2011-04-29 14:21:57 -05:00
Benjamin Smedberg
66bd69fb25 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 2010-04-28 11:01:09 -04:00
Chris Jones
3b4f5243ef 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
Jim Mathies
c05a8971ee Bug 545338 - RPCChannel should use events rather than thread messages for NotifyWokerThread. r=bent. 2010-03-25 16:53:10 -05:00
Chris Jones
1a05cc9e43 Bug 552294: *Channel::OnError must run atomically. r=bent 2010-03-18 17:52:28 -05:00
Chris Jones
1a33e2c897 Bug 546035: Check if we're still connected before dispatching a received message. r=bsmedberg 2010-03-11 01:35:26 -06:00
Ben Turner
6553dc43c4 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
be654d549e 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
Chris Jones
6f5e16b659 Bug 545757: Don't post replies to the IO thread after a connection error. r=bent 2010-02-11 17:33:53 -06:00
Chris Jones
a495a7a2c7 Bug 545338: Make the IPC hang detector tolerate spurious wake-ups. Possibly temporary. irc-r=jimm 2010-02-10 15:41:44 -06:00
Chris Jones
bdd1e7b305 Bug 540004, part 3: Add a ShouldContinue() interface to IPDL actors that allows them to decide how a hang should be treated. r=bent 2010-02-09 18:02:55 -06:00
Chris Jones
87f19e3cc8 Bug 540004, part 2: Detect hangs while awaiting synchronous IPC replies (on POSIX). r=bent 2010-02-09 18:02:54 -06:00
Jim Mathies
69719d7efc Bug 538918 - [OOPP] Modal system dialogs cause UI freeze w/windowless controls. r=bent, cjones. 2010-02-09 16:34:38 -06:00
Benjamin Smedberg
a66882514d Bug 516515 - Don't initialize XPCOM in plugin processes, r=cjones 2010-02-03 17:17:09 -05:00
Chris Jones
cecc48ef7e Bug 521929, part 1: Add a "seqno" field to synchronous messages. r=bent 2010-01-21 20:04:09 -06:00
Chris Jones
873c26fc56 Bug 538239: Guard against async messages unblocking sync message waits. r=bent 2010-01-20 21:50:36 -06:00
Chris Jones
2a7a132a2b 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
0de8bea064 Bug 526361 - 'Defer nonqueued messages received during synchronous IPC calls'. r=jimm+rs. 2009-11-18 15:18:08 -08:00
Ben Turner
f8a6477c90 Fix bustage 2009-11-12 14:46:29 -08:00
Ben Turner
0ec5bb9fda Bug 525792 - 'Fix leaks running mochitests'. 2009-11-12 14:16:54 -08:00
Ben Turner
cf76ba1d89 Bustage fix 2009-11-06 16:22:54 -08:00
Chris Jones
560c252023 fix linux build 2009-11-06 17:51:04 -06:00
Ben Turner
d2bd8c7978 Bug 522414 - 'RPC and Sync channels will deadlock easily on Windows'. r=jimm+rs. 2009-11-06 14:33:12 -08:00
Chris Jones
77d2534f81 bug 524767: add better error logging to *Channel. no r?, logging only 2009-10-27 16:32:55 -05:00
Chris Jones
b10d1a759b fix bugs in RPC race resolution 2009-10-09 01:21:39 -05:00
Chris Jones
2ee72bbdde 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
7538627bc7 Add threadsafety assertions to plugin code 2009-10-08 12:11:13 -07:00
Chris Jones
bad3ef29a6 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
cce1ee683f bug 516798: fix busted actor-as-return-value handling in IPDL 2009-09-16 21:49:41 -05:00
Ben Turner
b84bc59f4f Fix recursive locking when unblocking an RPC channel for a sync message and add minimal error handling for sync messages. 2009-09-14 13:00:31 -07:00
Chris Jones
13e950f139 make RPC unblock for async and sync, as it supposed to have 2009-09-10 18:54:37 -05:00
Chris Jones
d995a3e75a simplify some *Channel code. enforce more SyncChannel invariants 2009-08-19 10:44:56 -05:00
Chris Jones
f54228bce7 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
3cedbd30e0 stop flirting with MSVC8 name resolution bug. 2009-07-20 11:37:18 -05:00
Chris Jones
2e905d28f3 another stab in the dark at fixing MSVC8 bustage: put Result code enum in anonymous namespace 2009-07-15 16:38:55 -05:00
Chris Jones
381ec530ac attempt to fix build bustage when using MSVC8. 2009-07-15 13:41:09 -05:00
Chris Jones
8706be873a add IPDL test harness and the mountains of code that entails. add |bool| type to IPDL. fix bugs in nascent async/sync channels. 2009-07-14 00:12:50 -05:00
Chris Jones
5f7e726dd4 first cut at AsyncChannel and SyncChannel. only RPCChannel is currently under warranty. 2009-07-13 16:55:04 -05:00