DescriptionFixes race in Shell
Generally when a shell test runs something like the following happens:
1. ShellTest (actually BackgroundShell) connects to the test. This
connection supplies a bound ShellClientRequest.
2. Test code continues on and may attempt to connect to the test as
well.
Both of these requests may end up going to the ShellResolver. If that
happens, there is no guarantee the ShellResolver will resolve them in
order. If 2 happens first, then we attempt to launch the whole unit
test again, which is completely wrong, and ends up wedging the test.
The fix is twofold:
. Cache ShellResolver in shell. This is necessary as if we use
separate pipes there is no guaranteed ordering.
. Make Reader use have everything execute in sequence.
BUG=none
TEST=none
R=ben@chromium.org
Committed: https://crrev.com/ba39333a41b90207da717dde0e5178541d10fe33
Cr-Commit-Position: refs/heads/master@{#390136}
Patch Set 1 #Patch Set 2 : content uses different type #Patch Set 3 : block shutdown #Patch Set 4 : shutdown catalog #Patch Set 5 : fg #Patch Set 6 : destroy instances and dont block #Patch Set 7 : merge 2 trunk #Patch Set 8 : merge 2 trunk #
Messages
Total messages: 27 (11 generated)
|