listen(2)





NAME

       listen - listen for connections on a socket


SYNOPSIS

       #include <sys/socket.h>

       int listen(int s, 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  syn­
       cookies 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

       EBADF  The argument s is not a valid descriptor.

       ENOTSOCK
              The argument s is not a socket.

       EOPNOTSUPP
              The socket is not of a type that supports the  lis­
              ten operation.


CONFORMING TO

       Single Unix, 4.4BSD, POSIX 1003.1g draft. The listen func­
       tion 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.   Don't  rely
       on this value in portable applications since BSD (and some
       BSD-derived systems) limit the backlog to 5.


SEE ALSO

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
















































Man(1) output converted with man2html