...
Source file src/net/sock_linux.go
1
2
3
4
5 package net
6
7 import "syscall"
8
9 func maxListenerBacklog() int {
10 fd, err := open("/proc/sys/net/core/somaxconn")
11 if err != nil {
12 return syscall.SOMAXCONN
13 }
14 defer fd.close()
15 l, ok := fd.readLine()
16 if !ok {
17 return syscall.SOMAXCONN
18 }
19 f := getFields(l)
20 n, _, ok := dtoi(f[0])
21 if n == 0 || !ok {
22 return syscall.SOMAXCONN
23 }
24
25
26
27 if n > 1<<16-1 {
28 n = 1<<16 - 1
29 }
30 return n
31 }
32
View as plain text