When the handshaker fails to parse a config it currently exits. This causes the two pipes to signal EOF to the shim, but the control channel is a datagram socket in order to be atomic, thus doesn't signal an error. In the shim, EOF on the wfd pipe causes a short loop and thus a hang forever. Catching the EOF and returning an error doesn't work because some tests will close the pipe but still return information over the control channel. We can start a timeout once wfd is closed, but that seems like it might be flakey. Thus this change makes the handshaker send an explicit error over the control channel. It doesn't catch crashes, but it will catch config errors, which are much more common in cross-version tests. Change-Id: I4b1afed17694c57e4713d1b0fa4e9ecb12f09ec5 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/43865 Reviewed-by: David Benjamin <davidben@google.com>chromium-5359
parent
aec1b62b07
commit
d83dcf58c0
1 changed files with 10 additions and 6 deletions
Loading…
Reference in new issue