Clear one more timeout when using gdb.
https://boringssl-review.googlesource.com/18605 got the other ones.
Change-Id: If00487a4dd8508496a31a0a565c965559e12879c
Reviewed-on: https://boringssl-review.googlesource.com/21264
Commit-Queue: David Benjamin <davidben@google.com>
Commit-Queue: Adam Langley <agl@google.com>
Reviewed-by: Adam Langley <agl@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
diff --git a/ssl/test/runner/runner.go b/ssl/test/runner/runner.go
index 39a3765..5918e6b 100644
--- a/ssl/test/runner/runner.go
+++ b/ssl/test/runner/runner.go
@@ -1145,21 +1145,27 @@
listener.Close()
listener = nil
- var shimKilledLock sync.Mutex
- var shimKilled bool
- waitTimeout := time.AfterFunc(*idleTimeout, func() {
+ var childErr error
+ if *useGDB {
+ childErr = <-waitChan
+ } else {
+ var shimKilledLock sync.Mutex
+ var shimKilled bool
+ waitTimeout := time.AfterFunc(*idleTimeout, func() {
+ shimKilledLock.Lock()
+ shimKilled = true
+ shimKilledLock.Unlock()
+ shim.Process.Kill()
+ })
+ childErr = <-waitChan
+ waitTimeout.Stop()
shimKilledLock.Lock()
- shimKilled = true
+ if shimKilled && err == nil {
+ err = errors.New("timeout waiting for the shim to exit.")
+ }
shimKilledLock.Unlock()
- shim.Process.Kill()
- })
- childErr := <-waitChan
- waitTimeout.Stop()
- shimKilledLock.Lock()
- if shimKilled && err == nil {
- err = errors.New("timeout waiting for the shim to exit.")
}
- shimKilledLock.Unlock()
+
var isValgrindError bool
if exitError, ok := childErr.(*exec.ExitError); ok {
switch exitError.Sys().(syscall.WaitStatus).ExitStatus() {