Apache HTTPD
Macros | Functions | Variables
listen.c File Reference
#include "apr_network_io.h"
#include "apr_strings.h"
#include "apr_want.h"
#include "apr_version.h"
#include "ap_config.h"
#include "httpd.h"
#include "http_main.h"
#include "http_config.h"
#include "http_core.h"
#include "ap_listen.h"
#include "http_log.h"
#include "mpm_common.h"
#include <stdlib.h>

Go to the source code of this file.

Macros

#define APR_WANT_STRFUNC
 
#define APLOG_MODULE_INDEX   AP_CORE_MODULE_INDEX
 
#define IS_INADDR_ANY(addr)
 
#define IS_IN6ADDR_ANY(addr)
 

Functions

static apr_status_t make_sock (apr_pool_t *p, ap_listen_rec *server)
 
static const charfind_accf_name (server_rec *s, const char *proto)
 
static void ap_apply_accept_filter (apr_pool_t *p, ap_listen_rec *lis, server_rec *server)
 
static apr_status_t close_listeners_on_exec (void *v)
 
static int match_address (const apr_sockaddr_t *sa, const char *hostname, apr_port_t port, const char *scope_id, apr_pool_t *p)
 
static int find_listeners (ap_listen_rec **from, ap_listen_rec **to, const char *addr, apr_port_t port, const char *scope_id, apr_pool_t *temp_pool)
 
static const charalloc_listener (process_rec *process, const char *addr, apr_port_t port, const char *proto, const char *scope_id, void *slave, apr_pool_t *temp_pool)
 
static int open_listeners (apr_pool_t *pool)
 
int ap_setup_listeners (server_rec *s)
 
apr_status_t ap_duplicate_listeners (apr_pool_t *p, server_rec *s, ap_listen_rec ***buckets, int *num_buckets)
 
void ap_close_listeners (void)
 
void ap_close_listeners_ex (ap_listen_rec *listeners)
 
int ap_close_selected_listeners (ap_slave_t *slave)
 
void ap_listen_pre_config (void)
 
const charap_set_listener (cmd_parms *cmd, void *dummy, int argc, char *const argv[])
 
const charap_set_listenbacklog (cmd_parms *cmd, void *dummy, const char *arg)
 
const charap_set_listencbratio (cmd_parms *cmd, void *dummy, const char *arg)
 
const charap_set_send_buffer_size (cmd_parms *cmd, void *dummy, const char *arg)
 
const charap_set_receive_buffer_size (cmd_parms *cmd, void *dummy, const char *arg)
 

Variables

ap_listen_recap_listeners = NULL
 
int ap_num_listen_buckets
 
static ap_listen_rec ** ap_listen_buckets
 
int ap_have_so_reuseport = -1
 
static ap_listen_recold_listeners
 
static int ap_listenbacklog
 
static int ap_listencbratio
 
static int send_buffer_size
 
static int receive_buffer_size
 

Macro Definition Documentation

◆ APLOG_MODULE_INDEX

#define APLOG_MODULE_INDEX   AP_CORE_MODULE_INDEX

Definition at line 40 of file listen.c.

◆ APR_WANT_STRFUNC

#define APR_WANT_STRFUNC

Definition at line 20 of file listen.c.

◆ IS_IN6ADDR_ANY

#define IS_IN6ADDR_ANY (   addr)
Value:
&& IN6_IS_ADDR_UNSPECIFIED(&(addr)->sa.sin6.sin6_addr))
apr_size_t size
apr_sockaddr_t * addr
int family

Definition at line 439 of file listen.c.

◆ IS_INADDR_ANY

#define IS_INADDR_ANY (   addr)
Value:
((addr)->family == APR_INET \
&& (addr)->sa.sin.sin_addr.s_addr == INADDR_ANY)
#define APR_INET

Definition at line 434 of file listen.c.

Function Documentation

◆ alloc_listener()

static const char * alloc_listener ( process_rec process,
const char addr,
apr_port_t  port,
const char proto,
const char scope_id,
void *  slave,
apr_pool_t temp_pool 
)
static

Definition at line 338 of file listen.c.

◆ ap_apply_accept_filter()

static void ap_apply_accept_filter ( apr_pool_t p,
ap_listen_rec lis,
server_rec server 
)
static

< Delay accepting of new connections * until data is available. *

See also
apr_socket_accept_filter

Definition at line 236 of file listen.c.

◆ close_listeners_on_exec()

static apr_status_t close_listeners_on_exec ( void *  v)
static

Definition at line 275 of file listen.c.

◆ find_accf_name()

static const char * find_accf_name ( server_rec s,
const char proto 
)
static

Definition at line 219 of file listen.c.

◆ find_listeners()

static int find_listeners ( ap_listen_rec **  from,
ap_listen_rec **  to,
const char addr,
apr_port_t  port,
const char scope_id,
apr_pool_t temp_pool 
)
static

Definition at line 304 of file listen.c.

◆ make_sock()

static apr_status_t make_sock ( apr_pool_t p,
ap_listen_rec server 
)
static

< Reuse addresses

< Keepalive

< Send buffer

< Receive buffer

Definition at line 65 of file listen.c.

◆ match_address()

static int match_address ( const apr_sockaddr_t sa,
const char hostname,
apr_port_t  port,
const char scope_id,
apr_pool_t p 
)
static

Definition at line 283 of file listen.c.

◆ open_listeners()

static int open_listeners ( apr_pool_t pool)
static

Create, open, listen, and bind all sockets.

Parameters
processThe process record for the currently running server
Returns
The number of open sockets

Definition at line 447 of file listen.c.

Variable Documentation

◆ ap_listen_buckets

ap_listen_rec** ap_listen_buckets
static

Definition at line 50 of file listen.c.

◆ ap_listenbacklog

int ap_listenbacklog
static

Definition at line 59 of file listen.c.

◆ ap_listencbratio

int ap_listencbratio
static

Definition at line 60 of file listen.c.

◆ old_listeners

ap_listen_rec* old_listeners
static

Definition at line 58 of file listen.c.

◆ receive_buffer_size

int receive_buffer_size
static

Definition at line 62 of file listen.c.

◆ send_buffer_size

int send_buffer_size
static

Definition at line 61 of file listen.c.