Commit Graph

37 Commits

Author SHA1 Message Date
Benjamin Smedberg
67995408eb 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
495cbf8111 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
d70b2de416 Bug 545338 - RPCChannel should use events rather than thread messages for NotifyWokerThread. r=bent. 2010-03-25 16:53:10 -05:00
Chris Jones
cfe012af2f Bug 552294: *Channel::OnError must run atomically. r=bent 2010-03-18 17:52:28 -05:00
Chris Jones
512c98e2f7 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
9511d287cb 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
ed20dab3cd 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
1de2e347bc 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
043d4799c5 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
b7393756e9 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
83599906ac 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
c877b84ecc 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
Benjamin Smedberg
30bd4e4e51 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
bcc3aca59d 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
b15d1dec18 Bug 538239: Guard against async messages unblocking sync message waits. r=bent
--HG--
extra : transplant_source : .%3E%14%26%12%B1%80%BC%60%5D%E5%27%DE%11%C6uRY%F36
2010-01-20 21:50:36 -06:00
Chris Jones
4572a1920a 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
fcac19872d Bug 526361 - 'Defer nonqueued messages received during synchronous IPC calls'. r=jimm+rs. 2009-11-18 15:18:08 -08:00
Ben Turner
6a8386c605 Fix bustage 2009-11-12 14:46:29 -08:00
Ben Turner
cafe07f11b Bug 525792 - 'Fix leaks running mochitests'. 2009-11-12 14:16:54 -08:00
Ben Turner
b7ad07e8c6 Bustage fix 2009-11-06 16:22:54 -08:00
Chris Jones
f0b32f7472 fix linux build 2009-11-06 17:51:04 -06:00
Ben Turner
d1a97dd911 Bug 522414 - 'RPC and Sync channels will deadlock easily on Windows'. r=jimm+rs. 2009-11-06 14:33:12 -08:00
Chris Jones
963eacd704 bug 524767: add better error logging to *Channel. no r?, logging only 2009-10-27 16:32:55 -05:00
Chris Jones
024372f081 fix bugs in RPC race resolution 2009-10-09 01:21:39 -05:00
Chris Jones
6c79e4bbd2 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
d8f6fca3ab Add threadsafety assertions to plugin code 2009-10-08 12:11:13 -07:00
Chris Jones
d484a65e38 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
8ef0c1d0d8 bug 516798: fix busted actor-as-return-value handling in IPDL 2009-09-16 21:49:41 -05:00
Ben Turner
4c2446fda0 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
88d2f89607 make RPC unblock for async and sync, as it supposed to have 2009-09-10 18:54:37 -05:00
Chris Jones
d9919b3117 simplify some *Channel code. enforce more SyncChannel invariants 2009-08-19 10:44:56 -05:00
Chris Jones
0a08700f4a 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
6a1b89d424 stop flirting with MSVC8 name resolution bug. 2009-07-20 11:37:18 -05:00
Chris Jones
7662f0b63a 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
1f2aa76f62 attempt to fix build bustage when using MSVC8. 2009-07-15 13:41:09 -05:00
Chris Jones
d7947d5455 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
65a5143fa4 first cut at AsyncChannel and SyncChannel. only RPCChannel is currently under warranty. 2009-07-13 16:55:04 -05:00