Accepts a connection on a specified socket.
#include <prio.h> PRFileDesc* PR_Accept( PRFileDesc *fd, PRNetAddr *addr, PRIntervalTime timeout);
The function has the following parameters:
fdPRFileDesc object representing the rendezvous socket on which the caller is willing to accept new connections.addrPRNetAddr. On output, this structure contains the address of the connecting entity.timeoutPRIntervalTime specifying the time limit for completion of the accept operation.The function returns one of the following values:
PRFileDesc structure representing the newly accepted connection.NULL. Further information can be obtained by calling PR_GetError.The socket fd is a rendezvous socket that has been bound to an address with PR_Bind and is listening for connections after a call to PR_Listen. PR_Accept accepts the first connection from the queue of pending connections and creates a new socket for the newly accepted connection. The rendezvous socket can still be used to accept more connections.
If the addr parameter is not NULL, PR_Accept stores the address of the connecting entity in the PRNetAddr object pointed to by addr.
PR_Accept blocks the calling thread until either a new connection is successfully accepted or an error occurs. If the timeout parameter is not PR_INTERVAL_NO_TIMEOUT and no pending connection can be accepted before the time limit, PR_Accept returns NULL with the error code PR_IO_TIMEOUT_ERROR.