]> Cypherpunks repositories - gostls13.git/commitdiff
http: make Transport warning about connections closing more accurate
authorBrad Fitzpatrick <bradfitz@golang.org>
Wed, 7 Dec 2011 00:38:02 +0000 (16:38 -0800)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 7 Dec 2011 00:38:02 +0000 (16:38 -0800)
It was fragile and non-portable, and then became spammy with
the os.EINVAL removal.  Now it just uses the length of the
Peek return value instead.

R=golang-dev, alex.brainman
CC=golang-dev
https://golang.org/cl/5453065

src/pkg/net/http/Makefile
src/pkg/net/http/transport.go
src/pkg/net/http/transport_windows.go [deleted file]

index 4bf33a629d41fae128f4168d16e595f363618dff..807bc32447c74705d000686b2084cc247dc1da40 100644 (file)
@@ -21,9 +21,4 @@ GOFILES=\
        transfer.go\
        transport.go\
 
-GOFILES_windows=\
-       transport_windows.go\
-
-GOFILES+=$(GOFILES_$(GOOS))
-
 include ../../../Make.pkg
index e622e41f0a2de014b8ee9e3a95b5082cab1c05d2..dc70be43f2d7bb48c1bb0a4eeccd14edd1fd2a24 100644 (file)
@@ -519,17 +519,11 @@ func (pc *persistConn) readLoop() {
 
        for alive {
                pb, err := pc.br.Peek(1)
-               if err != nil {
-                       if remoteSideClosed(err) && !pc.expectingResponse() {
-                               // Remote side closed on us.  (We probably hit their
-                               // max idle timeout)
-                               pc.close()
-                               return
-                       }
-               }
                if !pc.expectingResponse() {
-                       log.Printf("Unsolicited response received on idle HTTP channel starting with %q; err=%v",
-                               string(pb), err)
+                       if len(pb) > 0 {
+                               log.Printf("Unsolicited response received on idle HTTP channel starting with %q; err=%v",
+                                       string(pb), err)
+                       }
                        pc.close()
                        return
                }
diff --git a/src/pkg/net/http/transport_windows.go b/src/pkg/net/http/transport_windows.go
deleted file mode 100644 (file)
index c9ef2c2..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2011 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 http
-
-import (
-       "net"
-       "syscall"
-)
-
-func init() {
-       remoteSideClosedFunc = func(err error) (out bool) {
-               op, ok := err.(*net.OpError)
-               if ok && op.Op == "WSARecv" && op.Net == "tcp" && op.Err == syscall.Errno(10058) {
-                       // TODO(brainman,rsc): Fix whatever is generating this.
-                       return true
-               }
-               return false
-       }
-}