-
Notifications
You must be signed in to change notification settings - Fork 18.5k
Closed
Labels
Description
After close a httptest.Server, the following request should failed, but sometimes it succeed.
example code: https://play.golang.org/p/IFv6BKjRgt
more simple one: https://play.golang.org/p/FcpbVEf_HI (detect deadlock on play.golang.org, but hit "unexpected get succeed" on my server)
go version: go version go1.5.1 linux/amd64
package main
import (
"fmt"
"net/http"
"net/http/httptest"
)
func main() {
var i int
for {
i++
fmt.Println(i)
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
}))
resp, err := http.Get(ts.URL)
if err != nil {
fmt.Println("unexpected get failed", err)
break
}
resp.Body.Close()
ts.Close()
resp, err = http.Get(ts.URL)
if err == nil {
resp.Body.Close()
fmt.Println("unexpected get succeed")
break
}
}
}