nrwt multiprocessing - actually implement messaging
Created attachment 75361 [details] Patch
Created attachment 75457 [details] update to tip of tree
Created attachment 75672 [details] Patch
Okay, I have attempted to simplify this patch by splitting it in to. The first half has moved into bug 50557, and contains the new implementation of the message_broker (message_broker2) as a standalone module. This patch now just contains the changed need to run_webkit_tests.py and dump_render_tree_thread.py to call the new module. The main aspect of these changes, apart from the actual switch to posting messages, is that the code no longer synchronously does cross-class access from run_webkit_tests to dump_render_tree_thread and vice versa; all access is mediated as: TestRunner <-> ManagerConnection <-> WorkerMessageBroker <-> *WorkerConnection <-> dump_render_tree_thread.Worker In some ways it is unfortunate that there are three objects for this, but there need to be at least two to avoid using multiple inheritance in between *WorkerConnection and Worker, and creating ManagerConnection allows us to have a nice symmetry and very clean APIs. message_broker.py is still in the tree as of this patch, but it can be removed (I'm planning to do so in a later patch once everything subsides, but I can add the deletion to this patch if that makes anything easier).
Created attachment 75681 [details] Patch
marking as WONTFIX. Will split up the patches differently.