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

525 Коммитов

Автор SHA1 Сообщение Дата
Ben Turner 8ee0dbf5a2 Fix bustage 2009-11-12 14:46:29 -08:00
Chris Jones 825bd599dd no need to include in C++ protocol-common headers |include protocol|'d from IPDL. this is an accident of history 2009-11-12 16:20:20 -06:00
Ben Turner 82191b418a Bug 525792 - 'Fix leaks running mochitests'. 2009-11-12 14:16:54 -08:00
Chris Jones 4e75aa27a1 fix misplaced forward declarations of protocols 2009-11-11 15:07:58 -06:00
Chris Jones 548d6d261d bug 527871: fix shutdown assertion and leaking TestShellParent. still leaking ContentProcessParent's GeckoChildProcess, but needs discussion before fixing 2009-11-11 02:34:08 -06:00
Chris Jones 5c7a5ab290 mac builds and runs with --enable-ipc, but the subprocess nsAppShell dies for an apparently Cocoa-related reason. IPC is fine though 2009-11-10 20:25:10 -06:00
Chris Jones 96dc937bbb print actor names instead of protocol, regression 2009-11-10 18:02:44 -06:00
Chris Jones a5761b1f6d the protocol-tree-walk to determine friends was broken 2009-11-10 16:50:59 -06:00
Phineas T. Farnsworth 3da7352b78 bug 526626: band-aids for shutdown assertions 2009-11-09 16:56:55 -06:00
Benjamin Smedberg 84942520d3 Followup to last patch: using the ternary operator doesn't shortcut creating the temporary object, and I can't figure out why it was a ternary anyway: make it an if. 2009-11-09 12:57:32 -05:00
Benjamin Smedberg 71e4c2d085 Fix the chromium logging stuff: make CHECK/LOG release-and-debug (DCHECK/DLOG are debug-only), and make it print warning/error/abort using NS_DebugBreak, which is especially important for release aborts. 2009-11-09 12:03:48 -05:00
Chris Jones 872eb8137d build fix for gcc <= 4.2 2009-11-06 22:57:13 -06:00
Ben Turner e48ad70cc3 Bustage fix 2009-11-06 16:22:54 -08:00
Chris Jones 8b132d2a80 fix linux build 2009-11-06 17:51:04 -06:00
Chris Jones 5412e0bc87 fix build bustage and test SEGFAULTs 2009-11-06 17:07:52 -06:00
Ben Turner d10ccd2c5a Bug 522414 - 'RPC and Sync channels will deadlock easily on Windows'. r=jimm+rs. 2009-11-06 14:33:12 -08:00
Chris Jones d16b740eee bug 526990: add support for serializing |float|s. no r=, trivial 2009-11-06 14:24:35 -06:00
Benjamin Smedberg abde5a790a Followup to the previous patch: give arguments to CHECK also, to fix Maemo build bustage and be consistent. 2009-11-06 14:45:38 -05:00
Benjamin Smedberg b289c97b16 Bug 526868 - Drop the dependency on GLIBCXX_3.4.9 by hacking Chromium logging to use NSPR logging instead of ostream. Pending r+ from cjones, but I wanted to get this landed to see what it did to the Linux testerboxes. 2009-11-05 17:47:09 -05:00
Chris Jones 2eb8767355 bug 523894: wstrings are bad news in OPT builds due to chromium/Mozilla -fshort-wchar mismatch 2009-11-05 18:24:27 -06:00
Chris Jones 649b4bf497 bug 525677: shuffle some headers to appease gcc 4.2. IRC r=fred23,bsmedberg 2009-11-04 23:11:33 -06:00
Benjamin Smedberg b32ff65cda Update chromium code to newer versions (rev 23304) to avoid tr1/function which doesn't compile without RTTI on, and disable RTTI by default. 2009-11-04 15:46:27 -05:00
Chris Jones 4bb319dfc5 bug 526397: fix up command line init. no r=, minor 2009-11-03 23:12:18 -06:00
Chris Jones c916fbb575 bug 525792: fix leaking PluginModules, call NP_Shutdown() on plugins. minor, no r= 2009-11-03 15:37:07 -06:00
Jonathan Griffin b7375e8bd1 Bug 525090. Log the PID's of launched processes. r=cjones
--HG--
extra : rebase_source : 69365c5d2f3a96b21efdeea876389027fca6feb5
2009-11-02 14:41:46 -08:00
Chris Jones 6415e6908c don't allow TestLatency to run when MOZ_IPC_MESSAGE_LOG is set 2009-10-30 16:04:06 -05:00
Chris Jones 108fb1cc49 attempt to fix build 2009-10-29 12:50:28 -05:00
Chris Jones 36fe1f488d bug 525150: bring back MOZ_IPC_MESSAGE_LOG. no r=, logging code only 2009-10-29 10:46:42 -05:00
Chris Jones 8814c1fe6e bug 525169: remove superfluous test-harness. no r=, removing testing code only 2009-10-29 00:56:24 -05:00
Benjamin Smedberg 8051ceb908 Merge only plugin changes from e10s to mozilla-central. 2009-12-16 09:19:07 -05:00
Benjamin Smedberg c827f3a584 Electrolysis-plugin-only bookkeeping commit. 2009-12-15 20:33:05 -05:00
Chris Jones 713cc81033 build fix 2009-10-27 22:31:04 -05:00
Chris Jones ccfc1178e3 bug 523761: give top-level IPDL actors handles to each others' processes. r=bent 2009-10-27 16:52:37 -05:00
Chris Jones 8663feb8a0 bug 524767: add better error logging to *Channel. no r?, logging only 2009-10-27 16:32:55 -05:00
Ben Turner f78672f07d Don't let people get the order of includes wrong in this horrifying patchwork of chromium and mozilla types 2009-10-21 16:01:16 -07:00
Chris Jones a13cd9cde7 fix bug where EndRead() is called on an empty (unread) message 2009-10-21 14:48:49 -05:00
Chris Jones 57879814f0 bug 523272: allow protocols to reference great*grandchild actors 2009-10-19 21:12:25 -05:00
Chris Jones b581a2e474 bug 518914: make sure that Messages are fully deserialized. fix fencepost error in chromium code 2009-10-19 16:06:13 -05:00
Chris Jones 46ad34660e bug 523143: switch protocols using nsTArray to native IPDL arrays 2009-10-19 14:10:52 -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 03b1d7887b pre-emptive windows build fix. no hablas STDint 2009-10-16 19:33:19 -05:00
Chris Jones 9570ba4cbb bug 506171: rewrite lower.py and add native IPDL arrays. 2009-10-16 18:31:53 -05:00
Chris Jones 277c870ffe temporarily un-apply some lower.py fixes that have been subsumed by bug 506171 2009-10-16 18:27:43 -05:00
Chris Jones 8635fae956 fix bugs that were preventing IPDL C++ unit tests from running on win32 2009-10-13 23:08:24 -05:00
Chris Jones 11da116187 add basic IPC latency tests 2009-10-13 17:36:28 -05:00
Chris Jones 6221ca6529 bug 521845: expand protocol space by 4x (temporarily) 2009-10-12 14:04:40 -05:00
Chris Jones a0cb461b15 fix bugs in RPC race resolution 2009-10-09 01:21:39 -05:00
Chris Jones f71ad44292 hack around lack of C99 format specifiers on Windows 2009-10-08 18:07:24 -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
Ben Turner de1fe88060 Two tiny IPDL fixes. 2009-10-07 16:52:41 -07:00
Chris Jones bef4a65dca bug 518425: C++ unit test for bug 2009-10-06 13:05:47 -05:00
Chris Jones 74559ddca4 bug 518126, part 2: add infrastructure for C++ tests of IPDL-generated code. r=ted,bsmedberg 2009-10-06 13:02:26 -05:00
Ben Turner 7f5e15165f More bustage fix 2009-10-05 18:43:46 -07:00
Chris Jones fbd897de71 Followup to bug 542052: Windows doesn't like stdint types. 2010-01-25 17:18:11 -06:00
Chris Jones bf83609f43 Bug 542052: Add support for serializing/deserializing byte types. r=bent 2010-01-25 16:47:39 -06:00
Benjamin Smedberg 6e8ca02ce6 Bug 540967 - "missing output line for total leaks" because the parent process isn't waiting for the child process to clean up/write leak logs, r=cjones
--HG--
extra : transplant_source : EW%5C-%60M%BCabd%A0%DE%F8%1EG%DF%03%14%B3%24
2010-01-22 10:21:33 -05:00
Benjamin Smedberg f3acc3f492 Bug 540868 part 2: keep all NPObjects (not just those with actors) in mObjectMap, and invalidate/deallocate them when we destroy the associated instance, r=bent
--HG--
extra : transplant_source : %96H%CA%BF%2BX%18s%C8%1B%2Bh%8F%92%05%F0%9F/N%01
2010-01-22 10:06:13 -05:00
Chris Jones aff9b49ce6 Bug 521929, part 3: IPDL/C++ test.
--HG--
extra : transplant_source : %9E%82%3E%20E%81J%97r%CD%05%93%FC%E0%9C%877P%DF%EE
2010-01-21 20:04:11 -06: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 ee53f3e0ae bug 518425, part 2: lessen routing ID collisions 2009-09-24 13:38:04 -05:00
Chris Jones 662fb82f1e bug 518126: part 1 --- test the IPDL compiler in isolation. r=bsmedberg 2009-09-23 11:00:37 -05:00
Chris Jones 8d3e0640b8 bug 517977: require actor impls to override AllocPFoo/DeallocPFoo instead of PFooConstructor/PFooDestructor 2009-09-22 12:31:11 -05:00
Chris Jones afb0f0a529 bug 518032: fix messed-up dtor code gen 2009-09-22 11:03:54 -05: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
Chris Jones 9b0462b6a0 fix lingering cruft from the nsresult-to-bool conversion 2009-09-18 16:35:53 -05:00
Chris Jones 640d5a2fa3 make actor param/return types nullable. use decl initializers where possible for more concise code 2009-09-18 12:28:37 -05:00
Chris Jones 8382bfb8de fix bug in IPDL race detector causing it not to detect certain patterns involving async messages where parent/child state machines could get more than 1 state out of sync 2009-09-18 11:10:48 -05:00
Chris Jones ad7cc03628 switch message handler nsresult return types to bool. appears to break test plugin, will be temporary 2009-09-17 18:09:20 -05:00
Ben Turner 151058edaa Landing the first part of NPRuntime support for plugin-side objects. Not hooked up yet. 2009-09-17 15:15:12 -07:00
Benjamin Smedberg fff703635d Bug 544361 - Silverlight 3 doesn't work since XPCOM was removed from plugin processes, it needs CoInitialize, r=cjones 2010-02-04 15:00:00 -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
Ben Turner 3340d7af3d Bug 542821 - 'Process startup event gets dropped on the floor by deferred messaging'. r=jimm.
--HG--
extra : transplant_source : %3A%2B%5E%7C%F6l%5D%5E6%C1%992%B9%2AA1%83%9A%E4%D5
2010-02-03 13:09:55 -08:00
Ben Turner 8ce4327d88 Bug 542617 - 'Deferred message loop mishandles WM_NCCALCSIZE'. r=jimm.
--HG--
extra : transplant_source : o%DD%22%21%91%F6%14%1D%C0H%BFsu%12%12%06%0B%81JM
2010-01-28 10:03:37 -08:00
Oleg Romashin 9a4397fa5b Bug 534644 - implement Qt ipc/chromium backend, first part. r=benjamin, r=jones.chris.g 2010-01-28 07:22:41 +02:00
Benjamin Smedberg dd62baca17 Bustage fixup from bad merge of bug 535564 2010-01-27 12:18:36 -05:00
Chris Jones 0db41ce779 IPC socketpair()s should be CLOEXEC (dup2() unsets the flag for the new fd in the child process). irc-r=bsmedberg
--HG--
extra : rebase_source : 5946587beff45a6a0afa61469f7ba0288521bcc5
2010-01-26 18:13:43 -06:00
Benjamin Smedberg 13a549e6a9 Bug 535564 part 2: only open the PID for short periods while we're writing to it, r=jgriffin
--HG--
extra : rebase_source : 65604f973cc0ea70fc6b61273b8931a0c519c354
2010-01-27 11:17:22 -05:00
Jim Mathies 8b81c8733b e10s bustage fix after bad merge. 2010-02-12 00:31:08 -06: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 6431ad2dc0 Bug 545053: IPDL/C++ test of hang detector.
--HG--
extra : transplant_source : %92%F8%81%3A%E0%99n%15kQ%BEB%EB%B6U%1Csuar
2010-02-11 14:32:17 -06:00
Ben Turner a1542736c3 Bug 545053: Implement IPC hang detection for windows. r=jimm
--HG--
extra : transplant_source : %3E%B1-b%1E%F5%5B%5B%DB%C4%97%19Y%82%3A%28%A7%8Ew%96
2010-02-11 12:19:21 -08:00
Jim Mathies 6d16384b41 Bug 538918 - Fix for bug 545338, don't drop into WaitForNotify() when spin loop unwinds. r=bent.
--HG--
extra : transplant_source : %CA%8B%E6%0B%3E%FC%AEK%B2PH%D5l%BEh%D4oj%E2Y
2010-02-11 14:03:24 -06:00
Jim Mathies d9ef9492f1 Bug 538918 - Move Init() above mutex unlock - attempted test hang fix.
--HG--
extra : transplant_source : W%0D%05%B8%D64%E7%16%3A%DFf%9B%F7%89%AA%27%C4%D3%7C%AA
2010-02-11 11:25:39 -06:00
Chris Jones a564f3aad2 Bug 545591: Temporary workaround.
--HG--
extra : transplant_source : /%9E5%1C%A2%B1%21%BD%9D%A5%DB%039/p%23%95%A2%7B%D3
2010-02-11 00:48:33 -06:00
Jim Mathies 7e56c9b1fc Bug 538918 - Don't delete gNeuteredWindows until the stack unwinds.
--HG--
extra : transplant_source : %9E%F8G%92P%1D%3D%1E%3B%BDYZ%E0%E8%C8%0ET%1C4p
2010-02-10 22:51:05 -06:00
Chris Jones 64a18262f7 Bug 544882, bug 545312: Only tell glib that work is pending if there has been a pollin or timer expiration. Merged from chromium latest, r=chromium
--HG--
extra : transplant_source : %E5%C0%3E%24%FEXX%FC%9A%1C%F4%93Pc%05%0AH%91%A1%F7
2010-02-10 22:04:56 -06:00
Jim Mathies 713894c25d Bug 538918 - Don't test the stack depth on entering WaitForNotify(). r=cjones.
--HG--
extra : transplant_source : %5D%07%E1%C6Q%F4%E0%DE%BD%89%BDb%EE%8FSo%06l-%1B
2010-02-10 20:30:21 -06:00
Benjamin Smedberg 39aeab8388 Followup to bug 538918 - Don't leak gNeuteredWindows, r=jimm
--HG--
extra : transplant_source : %1D%9C%3Eg%A2%ACV%3DY%F3%92%C8b%BDxB%3A.e%A7
2010-02-10 17:18:19 -05: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
Jim Mathies 02e1abfaad Bug 538918 - follow up patch: IsMessagePending should use PeekMessage, not the stacks for detection.
--HG--
extra : transplant_source : %3D%E4_%CE7m%FE%8F%B0S%DC%9F%FAF%D7%40%5D%83%C1/
2010-02-09 22:47:44 -06:00
Ben Turner 52f8f2919a Bustage fix
--HG--
extra : transplant_source : %C9%C5%A7%A1%24%E55%A5%3DBj%F4%90%B8%A0%FD%8F%E6%B0%B9
2010-02-09 16:12:41 -08:00
Chris Jones feb0d735b0 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 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 1e5215d158 Bug 540004, part 1: Various and sundry trivial refactorings. r=bent
--HG--
extra : transplant_source : %D0%E7%9BX%E9%B8.%A1%D6%CC%C94%B6%01%0F9%B2%F0%CC%AC
2010-02-09 18:02:53 -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 35245fa672 Bug 540886, part 3: IPDL/C++ test for BlockChild()/UnblockChild(). r=bnewman
--HG--
extra : transplant_source : h%0DM%F8%C5s%82%97%28%AEH%91%86%00%0E%99%A0%05T%1B
2010-01-27 00:41:33 -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
Chris Jones 162bed2213 Bug 540886, part 1: Refactor "special message" dispatch in AsyncChannel. r=bent
--HG--
extra : transplant_source : %81%F6%01%EB%0CE%B0%04R%02%A8%0B%F8c%EF/%1D%CC%3Ep
2010-01-27 00:41:31 -06:00
Chris Jones 40ab77cad5 Bug 540111, part 5: IPDL/C++ test of multi-managers. r=bnewman
--HG--
extra : transplant_source : %3B%83%10%FC%C3%5D%F7%22%B4%07WB7u%F6%8A4%D8%16%01
2010-01-26 22:56:14 -06:00
Chris Jones af3a21670c Bug 540111, part 4: IPDL-only tests of multi-managers.
--HG--
extra : transplant_source : %D7%A3C%09%80XAvz%BF%AB%E1%D9%CFiG%B4%F4%D6%00
2010-01-26 22:56:13 -06:00
Chris Jones a8f218c3e8 Bug 540111, part 3: Allow IPDL actors to be managed by one of a set of possible managers. r=bent
--HG--
extra : transplant_source : %DE%1A%20%E5%21%F8%A0.%A2%3A%B1%B8A%BEi%8A%85%0C%3C%60
2010-01-26 22:56:12 -06:00
Chris Jones 18358e8d4d Bug 540111, part 2: Subsume direct calls to manager->Dealloc*() into RemoveManagee(). r=bent
--HG--
extra : transplant_source : %FF%FC%CA%FD%82%7F%C2%CC%E4%0Ca%85%C4a%CB%CCM%CE%06%83
2010-01-26 22:56:11 -06:00
Chris Jones 604337ff23 Bug 540111, part 1: Add a new IProtocolManager::RemoveManagee interface to break reliance on the |Manager()| interface. r=bent
--HG--
extra : transplant_source : %D8%135V%07%DD%9C%40%D9y%01%12%07%E1%BA%20%CFE%256
2010-01-26 22:56:09 -06:00
Benjamin Smedberg b3e9aaa1a4 Commit remaining piece of bug 543788, r=jimm 2010-02-11 15:50:32 -05:00
Jason Duell 9910cfcf97 Necko init patch, with modeline fixes 2009-08-18 12:05:15 -07:00
Chris Jones 7a81446e70 bug 516798: fix busted actor-as-return-value handling in IPDL 2009-09-16 21:49:41 -05:00
Chris Jones 158b0df113 fix mismatched expectations of generated vars arrays 2009-09-16 17:41:04 -05:00
Ben Turner c3c18d55f1 Initialize managers asap in child actors 2009-09-16 15:01:00 -07:00
Ben Turner b063012cae Further fixes for unions 2009-09-14 19:26:17 -07:00
Ben Turner 72f4e6b57b Fix union type stuff for linux too 2009-09-14 17:55:00 -07:00
Ben Turner 5db5f8fa51 Fix union type constructors to be explicit to avoid msvc choosing cheaper code paths 2009-09-14 14:44:06 -07:00
Ben Turner 2941f8ddf4 Fix mem corruption from our different use of ChildProcessHost when child processes crash 2009-09-14 13:02:32 -07:00
Ben Turner 99033ae764 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
Ben Turner 77093d31d4 Fix nsTArray deserialization 2009-09-14 12:58:33 -07:00
Chris Jones 3998d8c0b8 modify the generated C++ enum representing the constituent types of IPDL unions so that they can represent a "not assigned" state 2009-09-12 17:18:56 -05:00
Chris Jones 1ba0bbfbd2 fix the internal C++ union of generated IPDL unions so that they can contain non-POD types 2009-09-12 15:40:26 -05:00
Chris Jones 532ab88f33 fix isUnion/isUnionType schizophrenia introduced by d3e90292fd30 2009-09-12 15:11:35 -05:00
Benjamin Smedberg 13eb6f3032 Followup to changeset d3e90292fd30, discriminated union types: bustage fix when passing an actor 2009-09-11 12:05:26 -04:00
Chris Jones 334b5bb7d9 unblock RPC waiters for async messages, for realz 2009-09-11 02:28:09 -05:00
Chris Jones b332673a20 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 11c6e75c70 add discriminated union types to IPDL 2009-09-10 23:55:03 -05:00
Chris Jones 7d52f509f1 make RPC unblock for async and sync, as it supposed to have 2009-09-10 18:54:37 -05:00
Ben Turner 5a0e09b701 Remove 'Protocol' suffix from IPDL-generated files 2009-09-09 15:59:06 -07:00
Ben Turner df0dc3228b Rename remaining protocols
--HG--
rename : dom/ipc/ContentProcess.ipdl => dom/ipc/PContentProcess.ipdl
rename : dom/ipc/IFrameEmbedding.ipdl => dom/ipc/PIFrameEmbedding.ipdl
rename : ipc/test-harness/Test.ipdl => ipc/test-harness/PTest.ipdl
rename : ipc/testshell/TestShell.ipdl => ipc/testshell/PTestShell.ipdl
rename : ipc/testshell/TestShellCommand.ipdl => ipc/testshell/PTestShellCommand.ipdl
2009-09-09 15:00:14 -07:00
Chris Jones 1c592e46b5 bug 515365: fix actor types as message params. also refactor actor naming so that the "Protocol" suffix can be removed. 2009-09-09 15:25:05 -05:00
Chris Jones 258569f503 bug 515242: finish FE support for actor types specified to be in "any" state (by adding State.ANY). fix IPDL handling of carriage return, remove them from new code 2009-09-09 01:58:08 -05:00
Ben Turner 175d63409f Fix crashing iframes due to gtk_init, stop using windows in xpcshell tests 2009-09-08 13:35:12 -07:00
Ben Turner 168680f7ad Fix linux builds by giving them a better idea of the executable location 2009-09-04 00:23:06 -07:00
Chris Jones 17a765274c make failed exec() print a loud error message 2009-09-03 17:12:57 -05:00
Ben Turner 7e8db9f9a4 Force child processes to close and wait for them on shutdown 2009-09-02 17:18:27 -07:00
Ben Turner 7ccc076f01 Enable ipcshell tests 2009-09-02 12:35:15 -07:00
Ben Turner faceddc604 Disable tests until they work 2009-09-01 15:36:38 -07:00
Ben Turner e46cbd79ac Basic xpcshell test for testing IPDL 2009-09-01 15:17:24 -07:00
Chris Jones fcd4f6280c bug 513920: synchronously "connect" to parent process from child process 2009-09-01 11:27:09 -05:00
Chris Jones db8283a880 fix build bustage; include prtime.h in IPDL code and avoid conflicting CaseInsensitiveCompare decls 2009-09-01 10:01:50 -05:00
Ben Turner 9739753cd3 Rework ipcshell to become xpcshell 2009-08-28 16:16:19 -07:00
Chris Jones a4b5dabdd8 bug 511440: leak count the protocol actor classes. Patch from robin_bb, thanks! r=cjones 2009-08-31 12:54:25 -05:00
Ben Turner fef91bb11b Rework chromium initialization, r=beast 2009-08-28 12:46:21 -07:00
Ben Turner b050168417 Backing out stuff that doesn't work 2009-08-27 16:05:38 -07:00
Ben Turner 3028fdfcc0 Fix build bustage? 2009-08-27 15:54:05 -07:00
Ben Turner 6415585c54 Rework chromium initialization, revert accidental change 2009-08-27 14:17:01 -07:00
Ben Turner c412f107ea Rework chromium initialization 2009-08-27 14:11:10 -07:00
Chris Jones 8b66e45495 drop the banhammer on sync parent-to-child messages 2009-08-25 18:52:12 -05:00
Ben Turner 9d33531365 Fix testshell to use the new callback commands, and shut down properly 2009-08-25 16:07:22 -07:00
Chris Jones 24b18f8473 add IPDL front-end support for transitioning to one of a set of states 2009-08-19 21:21:46 -05:00
Chris Jones 809d7382e0 add real front-end support for multiple start states in IPDL 2009-08-19 18:35:22 -05:00
Chris Jones 3480e9a0e0 enable the actor before calling the ctor hook 2009-08-19 18:14:24 -05:00
Chris Jones 8a9bf731f2 add RecvCtor() hooks to match RecvDtor() 2009-08-19 17:54:54 -05:00
Chris Jones bf3e025358 require IPDL filename Foo.ipdl to define protocol Foo 2009-08-19 16:08:21 -05:00
Chris Jones a9da331f2d allow empty sub-protocols 2009-08-19 15:50:46 -05:00
Chris Jones e818dde5b1 add "power-user" ctor interface method that accepts pre-constructed actors 2009-08-19 15:39:10 -05:00
Robin Bate Beorop b4dc22d447 Bug 507218 - Expose the process type (chrome/content) to client code via XRE_GetProcessType and nsIXULRuntime, r=bent 2009-08-19 13:09:51 -04:00
Chris Jones 57c28a4b6c simplify some *Channel code. enforce more SyncChannel invariants 2009-08-19 10:44:56 -05:00
Chris Jones db2bde3f0d 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 e45c8d96cd s/String/nsCString/ for IPDL example 2009-08-18 11:08:38 -05:00
Chris Jones de1432007f allow implementations to be notified when a dtor message is received 2009-08-14 16:46:49 -05:00
Chris Jones 6c48795ddf add dummy |start state| syntax 2009-08-14 15:38:25 -05:00
Chris Jones 3d6f398809 bug 510344: each translation unit needs its own symbol table. also fixed some parser error reporting and removed debugging |print|s 2009-08-13 21:22:55 -05:00
Benjamin Smedberg bfa6bff11f Bug 510025 - make TestShell a subprotocol of ContentProcess so that it is useful for prototyping 2009-08-12 14:31:48 -04:00
Chris Jones d7b02fbeea bug 510041: subprotocols should implement the toplevel-protocols listener interface even if they do not need that send semantics. dummy methods that error out are generated 2009-08-12 17:53:08 -05:00
Chris Jones 6a2a26a706 forward-declare non-managed actors 2009-08-12 15:51:39 -05:00
Chris Jones f1aae4a7b5 fix regression from refactoring error message construction 2009-08-12 13:59:00 -05:00
Chris Jones b5797704ff fix typos in type error format args 2009-08-12 13:46:05 -05:00
Chris Jones 6e92a85059 generate C++ typdefs for namespaced protocols 2009-08-12 13:40:09 -05:00
Chris Jones f02911c98e build on 64-bit linux 2009-08-12 00:41:55 -05:00
Chris Jones a318445e26 bug 509588: in actor ctor skeleton, return null instead of NS_ERROR_NYI 2009-08-11 17:26:06 -05:00
Chris Jones 165a6d7976 bug 509581: generate direct error return stmt instead of switch stmt with only default case when there are no dispatched messages. 2009-08-11 17:20:28 -05:00
Chris Jones 28d1cd83ea backout bad fix 2009-08-11 17:12:42 -05:00
Chris Jones 42822e89de bug 509581: only generate dispatch statement if we have a non-default case 2009-08-11 17:09:13 -05:00
Chris Jones d374705a1d bug 509579: use ALLOW_THIS() macro to squash msvc warnings 2009-08-11 16:52:37 -05:00
Ben Turner 37f6bdca20 Add extremely basic support for unblocking in the event of a bad message 2009-08-07 16:13:20 -07:00
Chris Jones 01ffe0160b make it easier to control whether logging code is emitted 2009-08-07 16:10:57 -05:00
Ben Turner a6cb8553d3 Add test plugin for ipc, make sure it works 2009-08-05 15:36:33 -07:00
Chris Jones d33bbbf8cd Fix Windows build busted by 2e3e142612b1.
--HG--
extra : transplant_source : -z%FD%996%7D%89%BD%09%E8%E2L%23%0E%1CK%21%AC%28%1C
2010-01-20 22:58:47 -06:00
Chris Jones cda811d509 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 25bab4e0a8 Test for bug 538239.
--HG--
extra : transplant_source : 8e%9E%87%3F%D1%EE%A7%3A%AB%19%84%AD%C1%DD%13%CE%82%E3w
2010-01-20 21:50:07 -06:00
Chris Jones f69b89b495 bug 539552 - Add a GetMinidump() method to top-level, parent-side IPDL classes. r=bent
--HG--
extra : transplant_source : i%EF%D7%5Ep%CA%B1%40%40%0C%F6%B0%21%D6G%B5%A6%8C%1B%93
2010-01-13 20:17:00 -05:00
Chris Jones 47d94d95dc Followup to bug 539856: Save actors' IDs in all message handlers to avoid use-after-free when the actor is deleted above the handler in the stack. IRC r=bent
--HG--
extra : transplant_source : %BF%A5%80%B1%A0%E0%8FcZ%9D%02%84%FC%9F%E5%A1R%91n%BD
2010-01-15 15:15:52 -06:00
Chris Jones f1e8661419 Test for followup to bug 539856.
--HG--
extra : transplant_source : f%83f%28%DC%A9%09%ADm%C3Ra%C5%D4%A7%A5%B2%D8%EDb
2010-01-15 15:15:51 -06:00
Chris Jones 521cb24310 Bug 539343: Call DeallocSubtree() on subprotocol actors after being __delete__-ed. r=bent
--HG--
extra : transplant_source : d%BE5%28%8D%EE%E3%D2Q%14%FB8%8Co%D5U%2C%19W%C4
2010-01-13 21:08:36 -06:00
Chris Jones 9465670838 Test for bug 539343.
--HG--
extra : transplant_source : J0p%C1%D3%7F%A5%D5%7Ds%F3%3F%8EG%B4%DD%D5%2A_%B2
2010-01-13 21:08:35 -06:00
Ben Turner 136dcf7e39 Bug 539061 - 'OOPP: ASSERTION: Received "nonqueued" message 31, 10'. r=jimm. 2010-01-15 12:35:53 -08:00
Chris Jones b965ffe2a8 Bug 539856: Avoid use-after-free of |mId| when constructing replies to destructor messages by saving |mId| on the stack. no r=, minor
--HG--
extra : transplant_source : %A5V%D3%C6%8D%87%BF%1B%F7%90%FB%88%81l%8Cu%D2ga%7F
2010-01-14 23:25:57 -06:00
Chris Jones e32ed2f501 Test for bug 539856.
--HG--
extra : transplant_source : %20%83%FE%ED1N%00Xg6D%A9%FC%1E%B1%7E%BD%14xQ
2010-01-14 23:25:56 -06:00
Chris Jones 67a20cfb76 Bug 539295: Use lenient child reaping in NS_BUILD_REFCNT_LOGGING builds. r=bsmedberg
--HG--
extra : transplant_source : %FE%1B%07%A0%E4G%A2%F9%90%1Dc8J%3FP%E7%0A%DDL%05
2010-01-13 14:57:52 -06:00
Chris Jones cf5eee4330 Bug 539295: Add an extra EnsureProcessTerminated() parameter to control how lenient to be wrt child shutdown. r=bent
--HG--
extra : transplant_source : E%D9%F1%AE%DA%A6%FF%96%81F%FB%0F%92v%A3%27%8CE%D5%25
2010-01-13 14:57:51 -06:00
Benjamin Smedberg 669c95a39e Followup to bug 516759 (multi-process crash reporting), make childCrashNotificationPipe a leaked char* instead of a leaked nsString, so that it doesn't show up in leakstats. r=ted (Filed bug 539451 as a followup.)
--HG--
extra : rebase_source : e143e12ea5babc78fd95bf799aff2920e1915481
2010-01-13 10:44:10 -05:00
Chris Jones 64066276b0 Bustage fix: work around XRE hackery.
--HG--
extra : rebase_source : 369e571b7e2dcd78bb6d1cd4c0aa470f43b623bf
2010-01-12 17:42:58 -06:00
Chris Jones 6d065b2d57 Bug 516759: Use OOP crash reporting in Gecko. r=luser
--HG--
extra : rebase_source : 1949d23a5ce0c15c266d9e67e6a6be7d650a51df
2010-01-12 15:14:38 -06:00
Chris Jones 6fedfe658d Small edit to comment. No r=, just want another set of talos runs.
--HG--
extra : rebase_source : 1316e80d35d9640b249be2f0d393c5a76dd7bd87
2010-01-12 02:25:18 -06:00
Chris Jones 346256e423 Bug 538586: Notify clients of channel errors if they call Close() before deleting themselves, but before the error notification event is delivered from the IO thread. r=bent
--HG--
extra : rebase_source : b363f3ab257e3aac3801c09e26ca2d9bf6cc3353
2010-01-12 00:14:32 -06:00
Chris Jones 23991c2223 Test for bug 538586.
--HG--
extra : rebase_source : 806feb88f71efe10512b084156b88534bc6236bf
2010-01-12 00:14:31 -06:00
Chris Jones 93dc896673 Don't run TestLatency if the timing resolution is too low and use the new TimeDuration::ToSecondsSigDigits() method to display durations to humans. No r=, test only.
--HG--
extra : rebase_source : 34ee3b04c128da20d035cb6e4d92418f5870cccd
2010-01-11 23:46:17 -06:00
Ben Turner ff67e8afc3 Use mozilla strings instead of std::string in IPDL 2009-07-29 14:12:15 -07:00
Ben Turner 12d174469f Fix chromium statics for apps that don't run through XRE_Main 2009-07-29 14:11:42 -07:00
Chris Jones 51cb11cdc2 bug 506983: allow template types in param lists 2009-07-28 17:04:01 -05:00
Chris Jones db0fd936da bug 506983: bare minimum support for C++ template types in IPDL 2009-07-28 16:26:14 -05:00
Chris Jones 2cf6bcf459 bug 506788: fix stupid typo 2009-07-27 20:49:32 -05:00
Chris Jones 94c6eaa73b Bug 506075: eliminate handshaking async constructor protocol, use smarter routing ID assignment 2009-07-24 18:24:27 -05:00
Chris Jones 204e23429f bug 506075: shoehorn support for async ctors/dtors into IPDL. 2009-07-23 20:31:56 -05:00
Ben Turner e5cab3444c Allow ipcshell to receive a response from its child process 2009-07-23 15:27:17 -07:00
Chris Jones 50b01f1178 windows build fix, v2 2009-07-21 09:28:36 -05:00
Chris Jones 0a5e27f76d windows build fix 2009-07-21 08:58:28 -05:00
Chris Jones b003459955 add message logging, as far as is possible with current build setup; -fshort-char breaks it. reinstate async/sync message dispatchers. fix 64-bit int printf bug in chromium. 2009-07-21 01:14:58 -05:00
Benjamin Smedberg 3f76d197c8 Make --disable-ipc work... mac-ppc now builds by default. 2009-07-20 15:04:52 -04:00
Chris Jones 69604af50f add SyncLaunch() method to GeckoChildProcess class. remove much newly obseleted code. 2009-07-20 13:14:41 -05:00
Chris Jones e516ddf1a1 implement protocol manager support for all channel types, not just RPC 2009-07-20 11:59:51 -05:00
Chris Jones c383d96f98 stop flirting with MSVC8 name resolution bug. 2009-07-20 11:37:18 -05:00
Chris Jones 77e8929151 fix small parser regression. edit test-harness code to match online guide 2009-07-17 23:00:01 -05:00
Chris Jones 0ed5c19802 check that protocol state machines are race-free. fix race in test-harness (whoops). 2009-07-17 18:10:10 -05:00
Chris Jones 2c6a8fd8a3 check reachability of states in IPDL protocols. clean up type checking a little. 2009-07-17 14:22:18 -05:00
Benjamin Smedberg 62478d8e8a Use a different hack to make the Linux tinderboxes green until we can upgrade to GCC 4.3 2009-07-17 13:39:40 -04:00
cjones@dm-oink01.mozilla.org a9ad21732a BAND-AID: compile chromium base lib with -fno-inline to fix linker bustage. bye bye performance. 2009-07-16 14:59:49 -07:00
Chris Jones 08fc1b6880 >--> @ MSVC8, v4 2009-07-15 17:33:37 -05:00
Chris Jones 057ed3ad8e another stab at fixing MSVC8 build bustage. 2009-07-15 17:06:30 -05:00
Chris Jones 90e549a263 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 5a07425e89 attempt to fix build bustage when using MSVC8. 2009-07-15 13:41:09 -05:00
Chris Jones fd025df45e fix gcc <= 4.1 builds by removing mysterious template syntax 2009-07-15 13:21:06 -05:00
Benjamin Smedberg f9e74ef747 IPCMessageStart.h shouldn't be checked in... should fix Windows build bustage. 2009-07-14 10:37:38 -04:00
Chris Jones ddf91bd30e update rgnrectallocator changes to match pending m-c patch. 2009-07-14 03:09:23 -05:00
Chris Jones 98f8639f7b fix up phase 1 browser: (i) suppress spurious RgnRectAlloc error msgs; (ii) make IFrameEmbedding protocol sync/async instead of rpc; (iii) fix bug that prevented child iframe from drawing 2009-07-14 02:33:50 -05:00
Chris Jones 3fe0052c3e 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 9c6618c46e first cut at AsyncChannel and SyncChannel. only RPCChannel is currently under warranty. 2009-07-13 16:55:04 -05:00
Chris Jones 9e97c71486 fix build bustage 2009-07-13 12:16:40 -05:00
Chris Jones 88634d747a IPDL: add colons back to state declarations 2009-07-13 12:10:02 -05:00
Benjamin Smedberg fc924865a3 Build system for .ipdl files. 2009-07-13 12:14:56 -04:00
Chris Jones 807f1ea1f2 make parse errors behave like type errors 2009-07-13 11:12:08 -05:00
Ben Turner d952bdebc8 Linux bustage fix? 2009-07-11 03:04:20 -04:00
Ben Turner 896d5d4ea3 Adds the ipcshell application to test IPC 2009-07-11 02:33:10 -04:00
Chris Jones f787806790 change state declaration syntax to be more different than parent:/child:/both: labels 2009-07-10 19:40:17 -05:00
Chris Jones 8354e23734 remove in/out/inout syntax in favor of parent:, child:, and both: labels 2009-07-10 19:19:54 -05:00
Chris Jones 51d8168a20 generate skeleton IPDL actor impls, like the IDL compiler does for interfaces. also fix the C++ visitor. 2009-07-10 15:56:40 -05:00
Chris Jones 55c13c871a add files that should have been in last cset 2009-07-10 14:58:14 -05:00
Chris Jones 3835b44362 use a single binary, mozilla-runtime, for all child processes 2009-07-10 14:03:09 -05:00
Chris Jones 433c336e5f final frontend support for protocol state machines. patch includes a minor refactoring as well. 2009-07-09 13:11:52 -05:00
Chris Jones 06af384fd3 add parsing and type-checking of protocol state machines in preparation for codegen of dynamic FSM checker. fix a couple of bugs here and there. 2009-07-08 18:03:56 -05:00
Chris Jones 9026ee09d1 check that ctors and dtors have been declared for managed protocols 2009-07-08 10:37:32 -05:00
Chris Jones bbe448b3ef add gcc-like -I include dir options to ipdl compiler 2009-07-07 17:52:38 -05:00
Chris Jones a2cbe6d182 bug 502921: check NS_FAILED when calling into implementor code 2009-07-07 16:45:27 -05:00
Chris Jones 1db701964c bugs 502003, 502634: compile multiple IPDL specs in one invocation
--HG--
rename : ipc/ipdl/ipdlc => ipc/ipdl/ipdl.py
2009-07-07 15:52:10 -05:00
Benjamin Smedberg a49dc40cea Goodbye, NO_NSPR_10 weirdness. 2009-07-07 12:25:00 -04:00
Benjamin Smedberg c0305d24cb Windows fixup: Windows does actually have 2-byte wchar_t. Also there was a possible missing PR_BEGIN_EXTERN_C that we really did need. 2009-07-07 12:20:02 -04:00
Benjamin Smedberg 05e9e26706 Windows fixup: write files in binary mode so we have consistent Unix-style line endings, and always use forward slashes instead of os.path.sep 2009-07-07 11:17:48 -04:00
Chris Jones 63e6c7f868 port IFrame protocol to new interface. fix small IPDL bug. 2009-07-02 19:24:02 -05:00