1
0
mirror of https://github.com/golang/go synced 2024-11-24 04:10:14 -07:00

net/rpc: fix aliasing in TestAcceptExitAfterListenerClose

TestRPC writes to newServer and newServerAddr guarded with a
sync.Once.
TestAcceptExitAfterListenerClose was overwriting those variables,
which caused the second invocation of TestRPC within a single process
to fail.

A second invocation can occur as a result of running the test with
multiple values for the -cpu flag.

fixes #19001.

Change-Id: I291bacf44aefb49c2264ca0290a28248c026f80e
Reviewed-on: https://go-review.googlesource.com/36624
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Bryan C. Mills 2017-02-09 14:34:38 -05:00 committed by Bryan Mills
parent f791b288d1
commit 4e9874f86e

View File

@ -619,13 +619,13 @@ func TestErrorAfterClientClose(t *testing.T) {
// Tests the fix to issue 11221. Without the fix, this loops forever or crashes.
func TestAcceptExitAfterListenerClose(t *testing.T) {
newServer = NewServer()
newServer := NewServer()
newServer.Register(new(Arith))
newServer.RegisterName("net.rpc.Arith", new(Arith))
newServer.RegisterName("newServer.Arith", new(Arith))
var l net.Listener
l, newServerAddr = listenTCP()
l, _ = listenTCP()
l.Close()
newServer.Accept(l)
}