The backlog argument defines the maximum length to which the queue
of pending connections for sockfd may grow.
The behavior of the backlog argument on TCP sockets changed with Linux 2.2.
Now it specifies the queue length for completely established sockets waiting
to be accepted, instead of the number of incomplete connection requests.
The maximum length of the queue for incomplete sockets can be set using
/proc/sys/net/ipv4/tcp_max_syn_backlog. When syncookies are enabled
there is no logical maximum length and this setting is ignored.
See tcp(7) for more information.
If the backlog argument is greater than the value in /proc/sys/net/core/somaxconn, then it is silently truncated to that
value; the default value in this file is 128. In kernels before 2.4.25, this limit was a hard coded value, SOMAXCONN,
with the value 128.