Commit Graph

753 Commits

Author SHA1 Message Date
Jim Mathies
5ac54da692 Bug 538918 - Don't delete gNeuteredWindows until the stack unwinds. 2010-02-10 22:51:05 -06:00
Chris Jones
b29d08d712 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 2010-02-10 22:04:56 -06:00
Jim Mathies
30bbf7bf87 Bug 538918 - Don't test the stack depth on entering WaitForNotify(). r=cjones. 2010-02-10 20:30:21 -06:00
Benjamin Smedberg
7c19e754c3 Followup to bug 538918 - Don't leak gNeuteredWindows, r=jimm 2010-02-10 17:18:19 -05:00
Chris Jones
f2ac603ebe Bug 545338: Make the IPC hang detector tolerate spurious wake-ups. Possibly temporary. irc-r=jimm 2010-02-10 15:41:44 -06:00
Jim Mathies
397fd64e73 Bug 538918 - follow up patch: IsMessagePending should use PeekMessage, not the stacks for detection. 2010-02-09 22:47:44 -06:00
Ben Turner
a0202c21cd Bustage fix 2010-02-09 16:12:41 -08:00
Chris Jones
28dcd794f9 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
8251abd52b Bug 540004, part 2: Detect hangs while awaiting synchronous IPC replies (on POSIX). r=bent 2010-02-09 18:02:54 -06:00
Chris Jones
ece2040d41 Bug 540004, part 1: Various and sundry trivial refactorings. r=bent 2010-02-09 18:02:53 -06:00
Chris Jones
fa53fc845d Fix linux bustage. 2010-02-09 17:04:06 -06:00
Jim Mathies
222acbd54a 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
c2f8edb3f4 Bug 543788 - Infinite loop in CallUpdateWindow/WM_PAINT messages when switching tabs with a windowed plugin (Acrobat and sometimes Flash), r=jimm 2010-02-09 11:57:03 -05:00
Benjamin Smedberg
33745658c4 Merge mozilla-central into electrolysis 2010-02-09 11:39:28 -05:00
Chris Jones
f6bbb2b077 No bug: Test RPC round-trip times and warn before sleep()ing. no r=, test only 2010-02-04 21:40:42 -06:00
Ben Turner
64e53df6db Bug 542821 - 'Process startup event gets dropped on the floor by deferred messaging'. r=jimm. 2010-02-03 13:09:55 -08:00
Benjamin Smedberg
c4141662bb Bug 516515 - Don't initialize XPCOM in plugin processes, r=cjones
--HG--
rename : ipc/glue/GeckoThread.cpp => ipc/glue/MozillaChildThread.cpp
rename : ipc/glue/GeckoThread.h => ipc/glue/MozillaChildThread.h
2010-01-31 22:19:21 -05:00
Benjamin Smedberg
a6bdf5bc53 Electrolysis bustage, fix up testshell from bug 543696, Remove unused nsIScriptSecurityManager::CheckConnect 2010-02-03 13:45:54 -05:00
Benjamin Smedberg
6e31be0f2d Merge mozilla-central into electrolysis. 2010-02-01 15:30:27 -05:00
Thomas Lee
d63023c6cd Error out if there are manager/managee cycles in protocol graphs. r=cjones 2010-02-01 12:44:54 -06:00
Ben Turner
10ac97ce43 Bug 542617 - 'Deferred message loop mishandles WM_NCCALCSIZE'. r=jimm. 2010-01-28 10:03:37 -08:00
Benjamin Smedberg
1e0aa446aa Merge mozilla-central into electrolysis. 2010-01-27 09:56:07 -05:00
Chris Jones
85cfeb583f Follow-up to bug 540886: address review comments I forgot to before pushing. 2010-01-27 02:17:17 -06:00
Chris Jones
7ec5b63ca4 Bug 540886, part 3: IPDL/C++ test for BlockChild()/UnblockChild(). r=bnewman 2010-01-27 00:41:33 -06:00
Chris Jones
bd22b5d094 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 2010-01-27 00:41:32 -06:00
Chris Jones
50d75222fd Bug 540886, part 1: Refactor "special message" dispatch in AsyncChannel. r=bent 2010-01-27 00:41:31 -06:00
Chris Jones
eb725546da Bug 540111, part 5: IPDL/C++ test of multi-managers. r=bnewman 2010-01-26 22:56:14 -06:00
Chris Jones
74c290c883 Bug 540111, part 4: IPDL-only tests of multi-managers. 2010-01-26 22:56:13 -06:00
Chris Jones
b34f76e214 Bug 540111, part 3: Allow IPDL actors to be managed by one of a set of possible managers. r=bent 2010-01-26 22:56:12 -06:00
Chris Jones
fc07cb5be2 Bug 540111, part 2: Subsume direct calls to manager->Dealloc*() into RemoveManagee(). r=bent 2010-01-26 22:56:11 -06:00
Chris Jones
95a3f6dcff Bug 540111, part 1: Add a new IProtocolManager::RemoveManagee interface to break reliance on the |Manager()| interface. r=bent 2010-01-26 22:56:09 -06:00
Chris Jones
07003cf347 Final merge of debug-spew backout 2010-01-26 20:09:07 -06:00
Chris Jones
6a65c0d728 Backout 8d0ad9632fd2 2010-01-26 20:09:04 -06:00
Chris Jones
a8ac13cd85 Intermediate merge of debug-spew backout 2010-01-26 20:08:59 -06:00
Chris Jones
b42dd35ca1 Backout f861b6e0a364 2010-01-26 20:08:56 -06:00
Chris Jones
d6f00817b0 Intermediate merge of debug-spew backout 2010-01-26 20:08:52 -06:00
Chris Jones
4bbf603adf Backout b0fee4f9b8c7 2010-01-26 20:08:48 -06:00
Chris Jones
fe90ea5e99 Intermediate merge of debug-spew backout 2010-01-26 20:08:44 -06:00
Chris Jones
e12332b1d9 Backout 76bf173816e8 2010-01-26 20:08:41 -06:00
Chris Jones
a8f0455da5 Intermediate merge of debug-spew backout 2010-01-26 20:08:38 -06:00
Chris Jones
adf3681d02 Backout d87a958aab73 2010-01-26 20:08:35 -06:00
Chris Jones
85a8c4c641 Intermediate merge of debug-spew backout 2010-01-26 20:08:31 -06:00
Chris Jones
5ff8ade5f8 Backout 581822324d75 2010-01-26 20:08:28 -06:00
Chris Jones
fb901ce79e Intermediate merge of debug-spew backout 2010-01-26 20:08:25 -06:00
Chris Jones
833e7c87fc Backout 23ee84dbd7b5 2010-01-26 20:08:22 -06:00
Chris Jones
8a6a2fbd64 IPC socketpair()s should be CLOEXEC (dup2() unsets the flag for the new fd in the child process). irc-r=bsmedberg 2010-01-26 18:13:43 -06:00
Chris Jones
7df4c01b33 Yet more temporary debug spew for diagnosing mochitest hang. 2010-01-26 14:57:16 -06:00
Chris Jones
abf4355d51 Temporary mochitest debugging: eliminate race condition between parent exit and child minidump request. 2010-01-26 09:40:42 -08:00
Benjamin Smedberg
fff188953b Bug 535564 - automation.py: WindowsError: [Error 13] The process cannot access the file because it is being used by another process. Don't keep the PID log open all the time, but only open it when it is needed. r?griffin
--HG--
extra : rebase_source : 1072e20feb1db8a98f99de5617e416ca23efb511
2010-01-26 09:53:32 -05:00
Chris Jones
382bd97b0b More temporary mochitest hang diagnostics: kill the plugin process with SIGSEGV if it doesn't shut down within 30 seconds. 2010-01-25 18:49:02 -06:00
Chris Jones
e03c1f3854 More temporary debug spew to sort linux mochitest hang. 2010-01-25 14:10:12 -06:00
Benjamin Smedberg
10c46ca526 Printf-debugging to help figure out bug 535564 2010-01-25 14:33:50 -05:00
Chris Jones
bd0804d7d6 More debug spew for sorting mochitest-plain hang. 2010-01-22 18:03:38 -06:00
Chris Jones
db57f114be Temporary spew part 2: convert fprintf(stderr into printf( so that child output shows up in the log. 2010-01-22 15:31:56 -06:00
Chris Jones
7b53db6a22 Temporary debug spew for diagnosing Linux mochitest hang. 2010-01-22 12:53:18 -06:00
Benjamin Smedberg
ad605908e9 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 2010-01-22 10:21:33 -05:00
Benjamin Smedberg
5ff7ecd852 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 2010-01-22 10:06:13 -05:00
Chris Jones
73a1d2211e Bug 521929, part 3: IPDL/C++ test. 2010-01-21 20:04:11 -06:00
Chris Jones
b79dc7dd3a Bug 521929, part 2: Save racy RPC replies onto a special stack until they're the reply to the right out-call. r=bent 2010-01-21 20:04:10 -06:00
Chris Jones
5f451f4f10 Bug 521929, part 1: Add a "seqno" field to synchronous messages. r=bent 2010-01-21 20:04:09 -06:00
Chris Jones
7ebeb43400 Fix Windows build busted by 2e3e142612b1. 2010-01-20 22:58:47 -06:00
Chris Jones
d42c00e1e9 Bug 538239: Guard against async messages unblocking sync message waits. r=bent 2010-01-20 21:50:36 -06:00
Chris Jones
e3c60ac47d Test for bug 538239. 2010-01-20 21:50:07 -06:00
Oleg Romashin
959dec8b52 Bug 534644 - e10s: implement Qt ipc/chromium backend, part 2. r=benjamin. 2010-01-29 08:50:44 +02:00
Chris Jones
1bbb5af93c bug 539552 - Add a GetMinidump() method to top-level, parent-side IPDL classes. r=bent 2010-01-13 20:17:00 -05:00
Chris Jones
f396226bc4 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 2010-01-15 15:15:52 -06:00
Chris Jones
f8cdcf7276 Test for followup to bug 539856. 2010-01-15 15:15:51 -06:00
Ben Turner
f2dc67e621 Bug 539061 - 'OOPP: ASSERTION: Received "nonqueued" message 31, 10'. r=jimm. 2010-01-15 12:35:53 -08:00
Chris Jones
fc41cdff9a Bug 539856: Avoid use-after-free of |mId| when constructing replies to destructor messages by saving |mId| on the stack. no r=, minor 2010-01-14 23:25:57 -06:00
Chris Jones
bd40e8fa28 Test for bug 539856. 2010-01-14 23:25:56 -06:00
Benjamin Smedberg
3f9c685874 Merge mozilla-central into electrolysis 2010-01-14 09:01:59 -05:00
Chris Jones
8cce034b88 Bug 539343: Call DeallocSubtree() on subprotocol actors after being __delete__-ed. r=bent 2010-01-13 21:08:36 -06:00
Chris Jones
d4d55d3e9b Test for bug 539343. 2010-01-13 21:08:35 -06:00
Chris Jones
6adcb662be Bug 539295: Use lenient child reaping in NS_BUILD_REFCNT_LOGGING builds. r=bsmedberg 2010-01-13 14:57:52 -06:00
Chris Jones
1e041371ce Bug 539295: Add an extra EnsureProcessTerminated() parameter to control how lenient to be wrt child shutdown. r=bent 2010-01-13 14:57:51 -06:00
Benjamin Smedberg
59e6e48206 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.) 2010-01-13 10:44:10 -05:00
Chris Jones
f604a6add1 Bustage fix: work around XRE hackery. 2010-01-12 17:42:58 -06:00
Chris Jones
7ebf798a09 Bug 516759: Use OOP crash reporting in Gecko. r=luser 2010-01-12 15:14:38 -06:00
Chris Jones
e3edb3da51 Small edit to comment. No r=, just want another set of talos runs. 2010-01-12 02:25:18 -06:00
Chris Jones
c63eb826e4 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 2010-01-12 00:14:32 -06:00
Chris Jones
4773f70f01 Test for bug 538586. 2010-01-12 00:14:31 -06:00
Chris Jones
8fdbf47035 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. 2010-01-11 23:46:17 -06:00
Jim Mathies
395d6723a9 Bug 538990 - Add a resource manifest to mozilla-runtime.exe. r=ted. 2010-01-13 19:44:34 -06:00
Benjamin Smedberg
c85b1e45a9 Merge mozilla-central to electrolysis 2009-12-21 10:22:07 -05:00
Makoto Kato
f0c8759e67 Bug 534813 - ipc_message_utils.h causes build error on Windows x64 build. r=jones.chris.g 2009-12-21 18:28:28 +09:00
Chris Jones
d6c43ac3f9 bug 535867: fix threadsafety problem causing windows tinderbox error. r=trivial 2009-12-18 18:09:56 -06:00
Benjamin Smedberg
5cb66dd785 Bug 535298: Cancel the NotifyMaybeChannelError event if the AsyncChannel is destroyed, and allow AsyncChannel::Close() to be called after a channel error (e.g. child process crash). r=cjones 2009-12-17 18:12:03 -06:00
Chris Jones
4b8c5aece2 bug 535298: IPDL unit test for use-after-free crashes after RPC errors. r=test-only 2009-12-17 18:12:01 -06:00
Benjamin Smedberg
15b231055d Bug 534736, and perhaps some others: parent crash within mozilla::plugins::PPluginInstanceParent::DestroySubtree, r=cjones 2009-12-17 16:39:22 -05:00
Chris Jones
e3e1f8b5c7 fix syntax error. r=trivial 2009-12-15 16:15:39 -06:00
Chris Jones
aadcbce897 bug 533507: improve IPC "race condition" error message. frontend only, r=me 2009-12-09 20:01:46 -06:00
Chris Jones
92ab770bfe 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
cf23f7f8bd add missing makefile dep. r=trivial 2009-12-09 14:53:52 -06:00
Chris Jones
7a4072a311 bug 532973: add a check-valgrind target that runs IPDL unit tests under valgrind. r=luser 2009-12-07 01:10:52 -06:00
Chris Jones
7a70d6f9c4 bug 533034: fix race condition that led to use-after-free. thanks valgrind! 2009-12-07 00:04:00 -06:00
Chris Jones
6e91459a40 bug 532983: fix invalid memory reads caused by regressions in shutdown behavior. r=bsmedberg 2009-12-07 00:03:49 -06:00
Chris Jones
ba122c592e fix some leaks found by valgrind. r=trivial 2009-12-04 18:15:44 -06:00
Chris Jones
8ba8e5aaab bug 521949: make valgrind stop complaining about a false-positive uninitialized memory read 2009-12-04 16:45:23 -06:00
Chris Jones
0b9d5b4132 Fix MSVC warning 2009-12-04 16:27:59 -06:00
Chris Jones
ef2a387ab8 bug 523175: follow-up to 82549dbf71d8, fully enables the C++/IPDL side of Shmem and adds unit tests. r=bent 2009-12-04 12:45:21 -06:00
Chris Jones
96d13f9099 bug 523174: add a higher-level Shmem class that implements exclusive access rights between parent/child actors and does over/underflow checking. (Also adds a stop-gap lower-level SharedMemory class in lieu of bug 523172.) r=joedrew 2009-12-04 12:45:15 -06:00
Benjamin Smedberg
f29a8b92d2 Bug 532659 - PluginScriptableObjectParent gets double-deleted when the plugin crashes, and fix the IPDL bug where we delete the actor if construction fails, instead of calling Deallocate on it, r=bent
--HG--
extra : rebase_source : dbe9a100735b1e0d0a8b07f4421e1ccb6055a78a
2009-12-03 15:30:05 -05: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
Chris Jones
36fa3e883c bug 521272: add C++ interfaces allowing IPDL manager actors to iterate over managees. r=trivial 2009-12-03 02:16:21 -06:00
Chris Jones
4a0c6ae1dc bug 525342: make IPDL dtors part of the destructed actor's protocol instead of the manager's. r=bsmedberg 2009-12-03 02:16:14 -06:00
Chris Jones
2898ebbb12 bug 525172: from IPDL specs generate .cpp files with method definitions instead of everything in .h files. r=bsmedberg 2009-12-03 02:16:09 -06:00
Chris Jones
5a85bd72bf bug 525483: simple check for IPDL actor use-after-free. also refactors some error handling code 2009-12-03 02:16:03 -06:00
Chris Jones
f2a7be3825 bug 524220: add a |nullable| type qualifier denoting whether C++ actor params are allowed to be NULL. r=bent 2009-12-03 00:35:22 -06:00
Chris Jones
f2e02884ba bug 523175: preliminary front-end-only support for shmem. r=bent 2009-12-03 00:35:15 -06:00
Chris Jones
de00c8390a bug 532333: part 2: implement an alternate EnsureChildTerminated() that listens for SIGCHLD (with a timeout) on the IO thread, instead of spawning a cleanup thread 2009-12-02 21:09:47 -06:00
Chris Jones
e89e8adc89 bug 532333: part 1: expose libevent signal events through chromium wrappers 2009-12-02 21:09:24 -06:00
Ben Turner
43fec0c5cf Add WM_MOUSEACTIVATE to list of deferred messages 2009-12-02 18:51:29 -08:00
Ben Turner
4c2c017389 Add WM_CAPTURECHANGED to the list of delayed messages. 2009-12-01 15:09:33 -08:00
Ben Turner
374d518bff Bug 531821 - Add chromium LICENSE file. 2009-12-01 14:18:27 -08:00
Benjamin Smedberg
f8977ad2f0 Bug 528367 - generate ipdl_{lex,yacc}tab.py in the objdir, not the srcdir 2009-11-24 10:34:38 -05:00
Ben Turner
fe230a0d56 Fix PostDelayedTask in the message loop 2009-11-23 16:01:12 -05:00
Benjamin Smedberg
593c06cd8c Do full shutdown, instead of _exit(0) shutdown in the plugin process when we're doing leak checking. 2009-11-20 13:49:15 -05:00
Chris Jones
efb828a947 include some headers missing in newer gcc/libc builds. r=trivial 2009-11-19 20:08:39 -06:00
Benjamin Smedberg
a5964bd8b9 Followup to bug 525090 - log new processes to a file based on the environment, instead of unconditionally to stdout, r=cjones 2009-11-19 14:52:11 -05:00
Chris Jones
27e7412d40 bug 529234: make sure to cleanup child processes 2009-11-19 13:03:30 -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
Josh Matthews
2414bcabb4 Bug 517963 - New-tab opening should not launch the content process synchronously r=cjones 2009-11-18 16:43:53 -05:00
Ben Turner
b579e4a306 Bug 528144 - 'Missing IPC messages cause hang during xpcshell test' 2009-11-17 15:34:48 -08:00
Chris Jones
ca75161694 add nsresult to IPDL builtins 2009-11-16 14:52:47 -06:00
Ben Turner
4aecc03b4f Bug 528144 - 'Missing IPC messages cause hang during xpcshell test' 2009-11-13 15:35:33 -08:00
Ben Turner
6a8386c605 Fix bustage 2009-11-12 14:46:29 -08:00
Chris Jones
64b9366a4d 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
cafe07f11b Bug 525792 - 'Fix leaks running mochitests'. 2009-11-12 14:16:54 -08:00
Chris Jones
64d4b56ae4 fix misplaced forward declarations of protocols 2009-11-11 15:07:58 -06:00
Chris Jones
0807e5c7e2 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
5629855e23 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
14e82a080a print actor names instead of protocol, regression 2009-11-10 18:02:44 -06:00
Chris Jones
11617230cd the protocol-tree-walk to determine friends was broken 2009-11-10 16:50:59 -06:00
Phineas T. Farnsworth
c1f7d557dc bug 526626: band-aids for shutdown assertions 2009-11-09 16:56:55 -06:00
Benjamin Smedberg
698d60225c 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
77e06791ca 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
52c9dd6f55 build fix for gcc <= 4.2 2009-11-06 22:57:13 -06: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
Chris Jones
cb36d1b489 fix build bustage and test SEGFAULTs 2009-11-06 17:07:52 -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
5ba83387ef bug 526990: add support for serializing |float|s. no r=, trivial 2009-11-06 14:24:35 -06:00
Benjamin Smedberg
4824f760d5 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
007228edf0 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
721479dcd3 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
fb5e908958 bug 525677: shuffle some headers to appease gcc 4.2. IRC r=fred23,bsmedberg 2009-11-04 23:11:33 -06:00
Benjamin Smedberg
03dcbb1ee5 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
affe2a4e94 bug 526397: fix up command line init. no r=, minor 2009-11-03 23:12:18 -06:00
Chris Jones
f1358e3105 bug 525792: fix leaking PluginModules, call NP_Shutdown() on plugins. minor, no r= 2009-11-03 15:37:07 -06:00
Jonathan Griffin
2e50906674 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
9d64f5f777 don't allow TestLatency to run when MOZ_IPC_MESSAGE_LOG is set 2009-10-30 16:04:06 -05:00
Chris Jones
0b6a5999de attempt to fix build 2009-10-29 12:50:28 -05:00
Chris Jones
59ae61c31e bug 525150: bring back MOZ_IPC_MESSAGE_LOG. no r=, logging code only 2009-10-29 10:46:42 -05:00
Chris Jones
bbf04a4991 bug 525169: remove superfluous test-harness. no r=, removing testing code only 2009-10-29 00:56:24 -05:00
Benjamin Smedberg
2efe22a0e4 Merge only plugin changes from e10s to mozilla-central. 2009-12-16 09:19:07 -05:00
Benjamin Smedberg
ce3386b2d4 Electrolysis-plugin-only bookkeeping commit. 2009-12-15 20:33:05 -05:00
Chris Jones
6f92260e03 build fix 2009-10-27 22:31:04 -05:00
Chris Jones
4f942a96f2 bug 523761: give top-level IPDL actors handles to each others' processes. r=bent 2009-10-27 16:52:37 -05:00
Chris Jones
963eacd704 bug 524767: add better error logging to *Channel. no r?, logging only 2009-10-27 16:32:55 -05:00
Ben Turner
c650170292 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
1a17b00b3b fix bug where EndRead() is called on an empty (unread) message 2009-10-21 14:48:49 -05:00
Chris Jones
95443086a7 bug 523272: allow protocols to reference great*grandchild actors 2009-10-19 21:12:25 -05:00
Chris Jones
8cb71b94bf 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
0564ad103d bug 523143: switch protocols using nsTArray to native IPDL arrays 2009-10-19 14:10:52 -05:00
Chris Jones
373c019990 bug 521324: call the multi-threaded GLib initialization function. r=karlt 2009-10-19 11:28:42 -05:00
Chris Jones
f118b1b109 pre-emptive windows build fix. no hablas STDint 2009-10-16 19:33:19 -05:00
Chris Jones
e1e761401a bug 506171: rewrite lower.py and add native IPDL arrays. 2009-10-16 18:31:53 -05:00
Chris Jones
86f7da7536 temporarily un-apply some lower.py fixes that have been subsumed by bug 506171 2009-10-16 18:27:43 -05:00
Chris Jones
78353e5860 fix bugs that were preventing IPDL C++ unit tests from running on win32 2009-10-13 23:08:24 -05:00
Chris Jones
de0b8a6c7f add basic IPC latency tests 2009-10-13 17:36:28 -05:00
Chris Jones
a0897fc29d bug 521845: expand protocol space by 4x (temporarily) 2009-10-12 14:04:40 -05:00
Chris Jones
024372f081 fix bugs in RPC race resolution 2009-10-09 01:21:39 -05:00
Chris Jones
264a18bfdc hack around lack of C99 format specifiers on Windows 2009-10-08 18:07:24 -05:00
Chris Jones
0f4bfc1b8d 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
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
Ben Turner
63699d2cd3 Two tiny IPDL fixes. 2009-10-07 16:52:41 -07:00
Chris Jones
8bd9efc8e7 bug 518425: C++ unit test for bug 2009-10-06 13:05:47 -05:00
Chris Jones
826a18e082 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
fe26eff4e3 More bustage fix 2009-10-05 18:43:46 -07:00
Chris Jones
09b2bf5c05 Followup to bug 542052: Windows doesn't like stdint types. 2010-01-25 17:18:11 -06:00
Chris Jones
ec0791fe20 Bug 542052: Add support for serializing/deserializing byte types. r=bent 2010-01-25 16:47:39 -06:00
Benjamin Smedberg
9c1e8d42c6 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
8adba8c2a2 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
6345658b6f 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
2649cb4bf4 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
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
fb35538a29 bug 518425, part 2: lessen routing ID collisions 2009-09-24 13:38:04 -05:00
Chris Jones
714b015109 bug 518126: part 1 --- test the IPDL compiler in isolation. r=bsmedberg 2009-09-23 11:00:37 -05:00
Chris Jones
4c587f8e45 bug 517977: require actor impls to override AllocPFoo/DeallocPFoo instead of PFooConstructor/PFooDestructor 2009-09-22 12:31:11 -05:00
Chris Jones
89fff610ce bug 518032: fix messed-up dtor code gen 2009-09-22 11:03:54 -05:00
Chris Jones
3ecb69991d 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
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
90a2666dff fix lingering cruft from the nsresult-to-bool conversion 2009-09-18 16:35:53 -05:00
Chris Jones
20d86c434b 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
fef237688e 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
03947f0bf3 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
5927a0e5fb 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
6e0f17ed7c 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
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
Ben Turner
e949113d77 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
fe949c04d2 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
2d419b5929 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
8892ede9ff Bustage fixup from bad merge of bug 535564 2010-01-27 12:18:36 -05:00
Chris Jones
35bc3cbdf8 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
ce9c2b3e2f 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
5df2fb9a6c e10s bustage fix after bad merge. 2010-02-12 00:31:08 -06: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
3f0c454925 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
46d8619058 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
1d812b5785 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
efadb86d27 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
f684bbfeaf 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
f3a7ada6f1 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
cc5715ebf9 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
84a1f73a57 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
92dda878db 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
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
Jim Mathies
c7f9adb923 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
abe12e49d0 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
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
Chris Jones
f421387c03 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
d9acb93873 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
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
Chris Jones
3027574ad1 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
0d9ee803ce 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
eebed3acd2 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
5b711f24bf 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
e86369ebb5 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
847a993d0c 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
89c3a09b22 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
35e34cec3b 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
66b2acb772 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
12c1cd2d24 Commit remaining piece of bug 543788, r=jimm 2010-02-11 15:50:32 -05:00
Jason Duell
7b9643e8c3 Necko init patch, with modeline fixes 2009-08-18 12:05:15 -07:00
Chris Jones
8ef0c1d0d8 bug 516798: fix busted actor-as-return-value handling in IPDL 2009-09-16 21:49:41 -05:00
Chris Jones
d50f580e04 fix mismatched expectations of generated vars arrays 2009-09-16 17:41:04 -05:00
Ben Turner
6767c1e151 Initialize managers asap in child actors 2009-09-16 15:01:00 -07:00
Ben Turner
cce28b953f Further fixes for unions 2009-09-14 19:26:17 -07:00
Ben Turner
ebf1496aa4 Fix union type stuff for linux too 2009-09-14 17:55:00 -07:00
Ben Turner
c3980cd06f Fix union type constructors to be explicit to avoid msvc choosing cheaper code paths 2009-09-14 14:44:06 -07:00
Ben Turner
b9c58a3347 Fix mem corruption from our different use of ChildProcessHost when child processes crash 2009-09-14 13:02:32 -07: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
Ben Turner
c8cd3d9e05 Fix nsTArray deserialization 2009-09-14 12:58:33 -07:00
Chris Jones
4adeb30006 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
af6b29815d 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
657a5413be fix isUnion/isUnionType schizophrenia introduced by d3e90292fd30 2009-09-12 15:11:35 -05:00
Benjamin Smedberg
0129b07555 Followup to changeset d3e90292fd30, discriminated union types: bustage fix when passing an actor 2009-09-11 12:05:26 -04:00
Chris Jones
eac97adcbe unblock RPC waiters for async messages, for realz 2009-09-11 02:28:09 -05:00
Chris Jones
f628e59149 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
e20692ab9b add discriminated union types to IPDL 2009-09-10 23:55:03 -05:00
Chris Jones
88d2f89607 make RPC unblock for async and sync, as it supposed to have 2009-09-10 18:54:37 -05:00
Ben Turner
c6ad60ed4d Remove 'Protocol' suffix from IPDL-generated files 2009-09-09 15:59:06 -07:00
Ben Turner
dccb0805dd 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
f9ec84bb5f 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
9b4c68bafb 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
962f9e024d Fix crashing iframes due to gtk_init, stop using windows in xpcshell tests 2009-09-08 13:35:12 -07:00
Ben Turner
68e41ae4f9 Fix linux builds by giving them a better idea of the executable location 2009-09-04 00:23:06 -07:00
Chris Jones
29002d8ee4 make failed exec() print a loud error message 2009-09-03 17:12:57 -05:00
Ben Turner
0f1d5c36a0 Force child processes to close and wait for them on shutdown 2009-09-02 17:18:27 -07:00
Ben Turner
6e6fa8eaec Enable ipcshell tests 2009-09-02 12:35:15 -07:00
Ben Turner
268851a3c4 Disable tests until they work 2009-09-01 15:36:38 -07:00
Ben Turner
a8e29d16e8 Basic xpcshell test for testing IPDL 2009-09-01 15:17:24 -07:00
Chris Jones
7ede298e42 bug 513920: synchronously "connect" to parent process from child process 2009-09-01 11:27:09 -05:00
Chris Jones
fb7a868fa4 fix build bustage; include prtime.h in IPDL code and avoid conflicting CaseInsensitiveCompare decls 2009-09-01 10:01:50 -05:00
Ben Turner
99f1c34f15 Rework ipcshell to become xpcshell 2009-08-28 16:16:19 -07:00
Chris Jones
fead1e7116 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
7821c5b1ba Rework chromium initialization, r=beast 2009-08-28 12:46:21 -07:00
Ben Turner
7c25b1ea27 Backing out stuff that doesn't work 2009-08-27 16:05:38 -07:00
Ben Turner
5b7e1a569b Fix build bustage? 2009-08-27 15:54:05 -07:00
Ben Turner
e4dd7bb6ff Rework chromium initialization, revert accidental change 2009-08-27 14:17:01 -07:00
Ben Turner
8e88b405d2 Rework chromium initialization 2009-08-27 14:11:10 -07:00
Chris Jones
c39afb1faf drop the banhammer on sync parent-to-child messages 2009-08-25 18:52:12 -05:00
Ben Turner
1521c7b109 Fix testshell to use the new callback commands, and shut down properly 2009-08-25 16:07:22 -07:00
Chris Jones
84a5be73c6 add IPDL front-end support for transitioning to one of a set of states 2009-08-19 21:21:46 -05:00
Chris Jones
42f8bccd1d add real front-end support for multiple start states in IPDL 2009-08-19 18:35:22 -05:00
Chris Jones
569858dd00 enable the actor before calling the ctor hook 2009-08-19 18:14:24 -05:00
Chris Jones
da80f6aaa1 add RecvCtor() hooks to match RecvDtor() 2009-08-19 17:54:54 -05:00
Chris Jones
36b0a7b68e require IPDL filename Foo.ipdl to define protocol Foo 2009-08-19 16:08:21 -05:00
Chris Jones
a02df7b5d1 allow empty sub-protocols 2009-08-19 15:50:46 -05:00
Chris Jones
2c1f6f0ee8 add "power-user" ctor interface method that accepts pre-constructed actors 2009-08-19 15:39:10 -05:00
Robin Bate Beorop
b7c4e982b3 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
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
43593314df s/String/nsCString/ for IPDL example 2009-08-18 11:08:38 -05:00
Chris Jones
77d8bb116e allow implementations to be notified when a dtor message is received 2009-08-14 16:46:49 -05:00
Chris Jones
f55e41544a add dummy |start state| syntax 2009-08-14 15:38:25 -05:00
Chris Jones
752addc386 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
3727beac48 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
c077cb9ee4 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
5fdc15d93a forward-declare non-managed actors 2009-08-12 15:51:39 -05:00
Chris Jones
ca83130e42 fix regression from refactoring error message construction 2009-08-12 13:59:00 -05:00
Chris Jones
2c2245395b fix typos in type error format args 2009-08-12 13:46:05 -05:00
Chris Jones
1b2a01962c generate C++ typdefs for namespaced protocols 2009-08-12 13:40:09 -05:00
Chris Jones
f09e5b1b04 build on 64-bit linux 2009-08-12 00:41:55 -05:00
Chris Jones
fc4f1b8507 bug 509588: in actor ctor skeleton, return null instead of NS_ERROR_NYI 2009-08-11 17:26:06 -05:00
Chris Jones
4a80615b13 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
bb36d29db4 backout bad fix 2009-08-11 17:12:42 -05:00
Chris Jones
be276f51f5 bug 509581: only generate dispatch statement if we have a non-default case 2009-08-11 17:09:13 -05:00
Chris Jones
973633505a bug 509579: use ALLOW_THIS() macro to squash msvc warnings 2009-08-11 16:52:37 -05:00
Ben Turner
1088815043 Add extremely basic support for unblocking in the event of a bad message 2009-08-07 16:13:20 -07:00
Chris Jones
a225933c92 make it easier to control whether logging code is emitted 2009-08-07 16:10:57 -05:00
Ben Turner
2f24daa576 Add test plugin for ipc, make sure it works 2009-08-05 15:36:33 -07:00
Chris Jones
3de475a7b3 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
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
00ee801a2c 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
659bd048fa 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
52e35965a3 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
a6c07cd9f8 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
ed5142290d 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
7b632f2270 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
06e68d5929 Bug 539061 - 'OOPP: ASSERTION: Received "nonqueued" message 31, 10'. r=jimm. 2010-01-15 12:35:53 -08:00
Chris Jones
25ec1dca61 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
a7181ad9ab 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
b121097b42 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
ad3c3b5623 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
0807858aa2 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
843b4df695 Bustage fix: work around XRE hackery.
--HG--
extra : rebase_source : 369e571b7e2dcd78bb6d1cd4c0aa470f43b623bf
2010-01-12 17:42:58 -06:00
Chris Jones
e8012b2b92 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
cb033bc042 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
e987efa9d9 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
5adae8dcb1 Test for bug 538586.
--HG--
extra : rebase_source : 806feb88f71efe10512b084156b88534bc6236bf
2010-01-12 00:14:31 -06:00
Chris Jones
7ff27dc043 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
d4bb2883d3 Use mozilla strings instead of std::string in IPDL 2009-07-29 14:12:15 -07:00
Ben Turner
f120ae185f Fix chromium statics for apps that don't run through XRE_Main 2009-07-29 14:11:42 -07:00
Chris Jones
bdd002ffe7 bug 506983: allow template types in param lists 2009-07-28 17:04:01 -05:00
Chris Jones
76fb6c8a37 bug 506983: bare minimum support for C++ template types in IPDL 2009-07-28 16:26:14 -05:00
Chris Jones
d8a8dca284 bug 506788: fix stupid typo 2009-07-27 20:49:32 -05:00
Ben Newman
713e822c3c Build and IPDL groundwork for the multi-process Jetpack API (bug 556846). r=bsmedberg 2010-06-25 08:00:35 -07:00
Chris Jones
9d6b44828f Bug 506075: eliminate handshaking async constructor protocol, use smarter routing ID assignment 2009-07-24 18:24:27 -05:00
Chris Jones
beee1565fe bug 506075: shoehorn support for async ctors/dtors into IPDL. 2009-07-23 20:31:56 -05:00
Ben Turner
018b1a724f Allow ipcshell to receive a response from its child process 2009-07-23 15:27:17 -07:00
Chris Jones
bde223e936 windows build fix, v2 2009-07-21 09:28:36 -05:00
Chris Jones
aeec2c150f windows build fix 2009-07-21 08:58:28 -05:00
Chris Jones
f349133c54 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
0501b7a589 Make --disable-ipc work... mac-ppc now builds by default. 2009-07-20 15:04:52 -04:00
Chris Jones
cc9c58dbcb add SyncLaunch() method to GeckoChildProcess class. remove much newly obseleted code. 2009-07-20 13:14:41 -05:00
Chris Jones
8959227f99 implement protocol manager support for all channel types, not just RPC 2009-07-20 11:59:51 -05:00
Chris Jones
6a1b89d424 stop flirting with MSVC8 name resolution bug. 2009-07-20 11:37:18 -05:00
Chris Jones
822eab83c8 fix small parser regression. edit test-harness code to match online guide 2009-07-17 23:00:01 -05:00
Chris Jones
be1ba467e4 check that protocol state machines are race-free. fix race in test-harness (whoops). 2009-07-17 18:10:10 -05:00
Chris Jones
af893a5060 check reachability of states in IPDL protocols. clean up type checking a little. 2009-07-17 14:22:18 -05:00
Benjamin Smedberg
855263eb48 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
d2a3bbd884 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
957ee2b153 >--> @ MSVC8, v4 2009-07-15 17:33:37 -05:00
Chris Jones
5e2cfbac7f another stab at fixing MSVC8 build bustage. 2009-07-15 17:06:30 -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
457f6ad505 fix gcc <= 4.1 builds by removing mysterious template syntax 2009-07-15 13:21:06 -05:00
Benjamin Smedberg
b0713f0d38 IPCMessageStart.h shouldn't be checked in... should fix Windows build bustage. 2009-07-14 10:37:38 -04:00
Chris Jones
1de39e3ef4 update rgnrectallocator changes to match pending m-c patch. 2009-07-14 03:09:23 -05:00
Chris Jones
14b0696047 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
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
Chris Jones
e1802878a2 fix build bustage 2009-07-13 12:16:40 -05:00
Chris Jones
f4fb7e72d9 IPDL: add colons back to state declarations 2009-07-13 12:10:02 -05:00
Benjamin Smedberg
28d4675b23 Build system for .ipdl files. 2009-07-13 12:14:56 -04:00
Chris Jones
e97dd63901 make parse errors behave like type errors 2009-07-13 11:12:08 -05:00
Ben Turner
8c59b524c4 Linux bustage fix? 2009-07-11 03:04:20 -04:00
Ben Turner
011769cbf2 Adds the ipcshell application to test IPC 2009-07-11 02:33:10 -04:00
Chris Jones
75cbcb8d79 change state declaration syntax to be more different than parent:/child:/both: labels 2009-07-10 19:40:17 -05:00
Chris Jones
c73832e4e0 remove in/out/inout syntax in favor of parent:, child:, and both: labels 2009-07-10 19:19:54 -05:00
Chris Jones
ca80c305cb 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
452523bbf6 add files that should have been in last cset 2009-07-10 14:58:14 -05:00
Chris Jones
e6c73d1542 use a single binary, mozilla-runtime, for all child processes 2009-07-10 14:03:09 -05:00
Chris Jones
03d2126057 final frontend support for protocol state machines. patch includes a minor refactoring as well. 2009-07-09 13:11:52 -05:00
Chris Jones
7929ffa13d 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
d3e2234d01 check that ctors and dtors have been declared for managed protocols 2009-07-08 10:37:32 -05:00
Chris Jones
a3e9f6ddbf add gcc-like -I include dir options to ipdl compiler 2009-07-07 17:52:38 -05:00
Chris Jones
d748ddb837 bug 502921: check NS_FAILED when calling into implementor code 2009-07-07 16:45:27 -05:00
Chris Jones
82d3d94aca 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
0990ded365 Goodbye, NO_NSPR_10 weirdness. 2009-07-07 12:25:00 -04:00
Benjamin Smedberg
5a197c4735 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
5091399e83 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
00958eff01 port IFrame protocol to new interface. fix small IPDL bug. 2009-07-02 19:24:02 -05:00
Chris Jones
9a867c549d use static_cast instead of dynamic_cast. silly cjones. 2009-07-02 19:02:06 -05:00
Ben Turner
67ac5c13b2 Some windows build fixup 2009-07-02 13:48:33 -07:00
Ben Turner
73f03dff53 merge bent's changes from libchromiumipc. Gtk plugins now drawing 2009-07-01 14:19:32 -07:00
Chris Jones
8aa21b1e90 merge plugin work from libchromiumipc. add env var check for OOP iframe. a few small bugfixes here and there. 2009-07-02 11:54:22 -05:00
Benjamin Smedberg
cc94d1bdc5 Require Windows XP SP2, and disable a compile-time check which doesn't make much sense in the chromium code. 2009-07-02 11:57:55 -04:00
Chris Jones
526ba058ae add initial support for protocol management in IPDL. small changes to existing protocols in preparation for merge from libchromiumipc. 2009-07-02 00:45:19 -05:00
Benjamin Smedberg
3909730c98 Import IPDL from cjones' working repo, revision 282b4211d881. New IPDL work will take place in electrolysis. 2009-06-30 15:38:59 -04:00
Benjamin Smedberg
95fa1bb9af Build fixes: * enable RTTI by default when building with GCC to work around the tr1/functional error * link with -lrt * Tell chromium that it's always using wide wchar on Linux 2009-06-30 13:21:26 -04:00
Benjamin Smedberg
34f5d65570 Hook up the event loop changes and fix the build
--HG--
rename : ipc/chromium/src/base/file_version_info_linux.h.version => ipc/chromium/base/file_version_info_linux.h
2009-06-30 12:02:37 -04:00
Benjamin Smedberg
14ce29cc49 ipc/glue imported verbatim from http://hg.mozilla.org/users/bturner_mozilla.com/libchromiumipc/ 2009-06-29 14:38:29 -04:00
Benjamin Smedberg
5fc7659bb1 Mozilla-specific changes to the Chromium code, imported verbatim from http://hg.mozilla.org/users/bturner_mozilla.com/libchromiumipc/ 2009-06-29 14:37:52 -04:00
Benjamin Smedberg
596636b2ed Build the pieces of the chromium code we actually need. Many thanks to bent for doing this the first time: I redid the Makefile to be all in one directory and use vpath directives so that dependencies work correctly. 2009-06-29 14:31:58 -04:00
Benjamin Smedberg
d4f21f823b Import Chromium sources r15462 2009-06-29 08:35:58 -04:00
Benjamin Smedberg
c977ba7bb6 Script to import chromium code from upstream. 2009-06-26 13:46:25 -04:00
Chris Jones
8ff8aeed5a bug 535867: fix threadsafety problem causing windows tinderbox error. r=trivial 2009-12-18 18:09:56 -06:00
Benjamin Smedberg
01268329e1 Bug 535298: Cancel the NotifyMaybeChannelError event if the AsyncChannel is destroyed, and allow AsyncChannel::Close() to be called after a channel error (e.g. child process crash). r=cjones 2009-12-17 18:12:03 -06:00
Chris Jones
b98d4ef625 bug 535298: IPDL unit test for use-after-free crashes after RPC errors. r=test-only 2009-12-17 18:12:01 -06:00
Benjamin Smedberg
f700fc2e14 Bug 534736, and perhaps some others: parent crash within mozilla::plugins::PPluginInstanceParent::DestroySubtree, r=cjones 2009-12-17 16:39:22 -05:00
Benjamin Smedberg
8a1fac05ad Bug 561817 part A: Entered/ExitedCall callbacks for toplevel actors upon RPC in-calls. r=bsmedberg 2010-04-29 11:49:00 -05:00
Chris Jones
250fef6fae Bug 568366: Allow copy-constructing and assigning from T__None-typed unions. r=benjamn 2010-06-02 12:56:34 -05:00
Mark Finkle
c507783a95 Backing out 704e77dcb303 2010-06-02 01:40:56 -04:00
Oleg Romashin
394627c4e4 Bug 560630 - NotificationService for e10s fennec initialized and used in different threads. r=bent.mozilla 2010-06-02 05:25:46 -04:00
Arpad Borsos
c1c477b539 Bug 462438 - kill MOZ_PROFILESHARING and MOZ_IPCD; build system cleanup + removes, v2; r+sr=benjamin 2008-12-04 15:37:37 +01:00
Phil Ringnalda
bbe7e1d08a Bug 461888 - Remove unused PACKAGE_FILE and PACKAGE_VARS and .pkg files, mozilla-central part, r=bsmedberg 2008-11-03 19:46:28 -08:00