mirror of
https://github.com/golang/go
synced 2024-11-26 08:38:01 -07:00
acc65b47e1
The test cases for this test had listed specific errors, but the specific error values were ignored in favor of just calling isDeadlineExceeded. Moreover, ENOBUFS errors (which can legitimately occur in the test if the network interface also happens to be saturated when the timeout occurs) were not handled at all. Now the test relies only on the timeout: we iterate until we have seen two of the expected timeout errors, and if we see ENOBUFS instead of "deadline exceeded" we back off to give the queues time to drain. Fixes #49930 Change-Id: I258a6d5c935d9635b02dffd79e197ba9caf83ac8 Reviewed-on: https://go-review.googlesource.com/c/go/+/370882 Trust: Bryan Mills <bcmills@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
24 lines
476 B
Go
24 lines
476 B
Go
// Copyright 2015 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package net
|
|
|
|
import "syscall"
|
|
|
|
var (
|
|
errTimedout = syscall.ETIMEDOUT
|
|
errOpNotSupported = syscall.EPLAN9
|
|
|
|
abortedConnRequestErrors []error
|
|
)
|
|
|
|
func isPlatformError(err error) bool {
|
|
_, ok := err.(syscall.ErrorString)
|
|
return ok
|
|
}
|
|
|
|
func isENOBUFS(err error) bool {
|
|
return false // ENOBUFS is Unix-specific
|
|
}
|