Provided by: manpages-dev_2.17-1_all bug

NAME

       listen - listen for connections on a socket

SYNOPSIS

       #include <sys/socket.h>

       int listen(int sockfd, int backlog);

DESCRIPTION

       To  accept  connections,  a  socket  is first created with socket(2), a
       willingness to accept  incoming  connections  and  a  queue  limit  for
       incoming   connections  are  specified  with  listen(),  and  then  the
       connections are accepted with accept(2).   The  listen()  call  applies
       only to sockets of type SOCK_STREAM or SOCK_SEQPACKET.

       The  backlog  parameter defines the maximum length the queue of pending
       connections may grow to.  If a  connection  request  arrives  with  the
       queue  full  the  client  may  receive  an  error with an indication of
       ECONNREFUSED or, if the underlying  protocol  supports  retransmission,
       the request may be ignored so that retries succeed.

NOTES

       The  behaviour  of  the  backlog  parameter 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 the tcp_max_syn_backlog sysctl.
       When syncookies are enabled there is no logical maximum length and this
       sysctl setting is ignored.  See tcp(7) for more information.

RETURN VALUE

       On  success,  zero is returned.  On error, -1 is returned, and errno is
       set appropriately.

ERRORS

       EADDRINUSE
              Another socket is already listening on the same port.

       EBADF  The argument sockfd is not a valid descriptor.

       ENOTSOCK
              The argument sockfd is not a socket.

       EOPNOTSUPP
              The  socket  is  not  of  a  type  that  supports  the  listen()
              operation.

CONFORMING TO

       Single  Unix,  4.4BSD,  POSIX 1003.1g draft. The listen() function call
       first appeared in 4.2BSD.

BUGS

       If the socket is of type AF_INET, and the backlog argument  is  greater
       than  the  constant  SOMAXCONN (128 in Linux 2.0 & 2.2), it is silently
       truncated to SOMAXCONN.

SEE ALSO

       accept(2), bind(2), connect(2), socket(2)