[webkit-reviews] review denied: [Bug 54071] nrwt multiprocessing: spawn multiple workers : [Attachment 81762] reset state properly in _run_tests()
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Feb 11 13:24:14 PST 2011
Tony Chang <tony at chromium.org> has denied Dirk Pranke <dpranke at chromium.org>'s
request for review:
Bug 54071: nrwt multiprocessing: spawn multiple workers
https://bugs.webkit.org/show_bug.cgi?id=54071
Attachment 81762: reset state properly in _run_tests()
https://bugs.webkit.org/attachment.cgi?id=81762&action=review
------- Additional Comments from Tony Chang <tony at chromium.org>
View in context: https://bugs.webkit.org/attachment.cgi?id=81762&action=review
> Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner2.py:109
> + w = manager_connection.start_worker(worker_number)
> + ws = _WorkerState(worker_number, w)
> + self._workers[w.name] = ws
w -> worker, ws -> worker_state
> Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner2.py:113
> + # We sleep a bit in between workers to give the processes a
chance
> + # to start up without thrashing.
> + time.sleep(0.1)
This seems prone to a race. What type of thrashing happens if you don't sleep?
> Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner2.py:119
> - manager_connection.post_message('stop')
> + for i in xrange(num_workers):
> + manager_connection.post_message('stop')
Why do we have to post multiple stop messages?
> Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner2.py:144
> + for w in self._workers.values():
> + if not w.done:
> + done = False
Can you use any() + list comprehension here?
> Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner2.py:147
> + # FIXME: is the following line safe?
> + # self._done = done
Can you elaborate on this?
> Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner2.py:150
> def handle_started_test(self, src, test_info, hang_timeout):
src -> source
> Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner2.py:156
> + w = self._workers[src]
> + w.done = True
w -> worker, src -> source
> Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner2.py:158
> def handle_exception(self, src, exception_info):
src -> source
More information about the webkit-reviews
mailing list