Browse Source

slow down when there is not enough file descriptors. fixes #1574

pull/1581/head
Darien Raymond 6 years ago
parent
commit
d5de8e27cc
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169
  1. 7
      transport/internet/tcp/hub.go

7
transport/internet/tcp/hub.go

@ -6,6 +6,7 @@ import (
"context" "context"
gotls "crypto/tls" gotls "crypto/tls"
"strings" "strings"
"time"
"v2ray.com/core/common" "v2ray.com/core/common"
"v2ray.com/core/common/net" "v2ray.com/core/common/net"
@ -64,10 +65,14 @@ func (v *Listener) keepAccepting() {
for { for {
conn, err := v.listener.Accept() conn, err := v.listener.Accept()
if err != nil { if err != nil {
if strings.Contains(err.Error(), "closed") { errStr := err.Error()
if strings.Contains(errStr, "closed") {
break break
} }
newError("failed to accepted raw connections").Base(err).AtWarning().WriteToLog() newError("failed to accepted raw connections").Base(err).AtWarning().WriteToLog()
if strings.Contains(errStr, "too many") {
time.Sleep(time.Millisecond * 500)
}
continue continue
} }

Loading…
Cancel
Save