Commit Graph

198 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Chris Jones
8ff8aeed5a bug 535867: fix threadsafety problem causing windows tinderbox error. r=trivial 2009-12-18 18:09:56 -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
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
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
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
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
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
Chris Jones
ca75161694 add nsresult to IPDL builtins 2009-11-16 14:52:47 -06: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
Chris Jones
64d4b56ae4 fix misplaced forward declarations of protocols 2009-11-11 15:07:58 -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
Chris Jones
cb36d1b489 fix build bustage and test SEGFAULTs 2009-11-06 17:07:52 -06:00
Chris Jones
5ba83387ef bug 526990: add support for serializing |float|s. no r=, trivial 2009-11-06 14:24:35 -06: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
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
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
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
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
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
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
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
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
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
4c2446fda0 Fix recursive locking when unblocking an RPC channel for a sync message and add minimal error handling for sync messages. 2009-09-14 13:00:31 -07:00
Chris Jones
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
e20692ab9b add discriminated union types to IPDL 2009-09-10 23:55:03 -05:00
Ben Turner
c6ad60ed4d Remove 'Protocol' suffix from IPDL-generated files 2009-09-09 15:59:06 -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
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
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
Chris Jones
c39afb1faf drop the banhammer on sync parent-to-child messages 2009-08-25 18:52:12 -05: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