diff options
author | obscuren <geffobscura@gmail.com> | 2015-06-10 03:12:25 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-06-10 03:12:25 +0800 |
commit | bac9a94ddf20dc530966cbf6cd384aaf94aedc77 (patch) | |
tree | 0ced967e60315698cc5056a984d7678c417bc1ce /p2p | |
parent | 0e703d92ac9df61e2ededa8c895c70ded101a607 (diff) | |
parent | 14994fa21bf6f05554ff370d41005d06b68d20a5 (diff) | |
download | go-tangerine-bac9a94ddf20dc530966cbf6cd384aaf94aedc77.tar go-tangerine-bac9a94ddf20dc530966cbf6cd384aaf94aedc77.tar.gz go-tangerine-bac9a94ddf20dc530966cbf6cd384aaf94aedc77.tar.bz2 go-tangerine-bac9a94ddf20dc530966cbf6cd384aaf94aedc77.tar.lz go-tangerine-bac9a94ddf20dc530966cbf6cd384aaf94aedc77.tar.xz go-tangerine-bac9a94ddf20dc530966cbf6cd384aaf94aedc77.tar.zst go-tangerine-bac9a94ddf20dc530966cbf6cd384aaf94aedc77.zip |
Merge branch 'release/0.9.28'v0.9.28
Diffstat (limited to 'p2p')
-rw-r--r-- | p2p/nat/natupnp.go | 3 | ||||
-rw-r--r-- | p2p/rlpx.go | 1 | ||||
-rw-r--r-- | p2p/server.go | 2 |
3 files changed, 5 insertions, 1 deletions
diff --git a/p2p/nat/natupnp.go b/p2p/nat/natupnp.go index ef7765e8d..21a9cf8b1 100644 --- a/p2p/nat/natupnp.go +++ b/p2p/nat/natupnp.go @@ -12,6 +12,8 @@ import ( "github.com/huin/goupnp/dcps/internetgateway2" ) +const soapRequestTimeout = 3 * time.Second + type upnp struct { dev *goupnp.RootDevice service string @@ -131,6 +133,7 @@ func discover(out chan<- *upnp, target string, matcher func(*goupnp.RootDevice, } // check for a matching IGD service sc := goupnp.ServiceClient{service.NewSOAPClient(), devs[i].Root, service} + sc.SOAPClient.HTTPClient.Timeout = soapRequestTimeout upnp := matcher(devs[i].Root, sc) if upnp == nil { return diff --git a/p2p/rlpx.go b/p2p/rlpx.go index e1cb13aae..6bbf20671 100644 --- a/p2p/rlpx.go +++ b/p2p/rlpx.go @@ -102,6 +102,7 @@ func (t *rlpx) doProtoHandshake(our *protoHandshake) (their *protoHandshake, err werr := make(chan error, 1) go func() { werr <- Send(t.rw, handshakeMsg, our) }() if their, err = readProtocolHandshake(t.rw, our); err != nil { + <-werr // make sure the write terminates too return nil, err } if err := <-werr; err != nil { diff --git a/p2p/server.go b/p2p/server.go index 589041810..59b97a0aa 100644 --- a/p2p/server.go +++ b/p2p/server.go @@ -30,7 +30,7 @@ const ( frameReadTimeout = 30 * time.Second // Maximum amount of time allowed for writing a complete message. - frameWriteTimeout = 5 * time.Second + frameWriteTimeout = 20 * time.Second ) var errServerStopped = errors.New("server stopped") |