manoj 99/10/25 23:07:38
Modified: src/modules/mpm/dexter dexter.c Log: Take advantage of ap_new_apr_connection in dexter Revision Changes Path 1.47 +7 -19 apache-2.0/src/modules/mpm/dexter/dexter.c Index: dexter.c =================================================================== RCS file: /home/cvs/apache-2.0/src/modules/mpm/dexter/dexter.c,v retrieving revision 1.46 retrieving revision 1.47 diff -u -d -u -r1.46 -r1.47 --- dexter.c 1999/10/24 13:08:27 1.46 +++ dexter.c 1999/10/26 06:07:36 1.47 @@ -737,21 +737,14 @@ * Child process main loop. */ -static void process_socket(ap_context_t *p, struct sockaddr *sa_client, int csd, - int conn_id) +static void process_socket(ap_context_t *p, ap_socket_t *sock, long conn_id) { - struct sockaddr sa_server; /* ZZZZ */ - NET_SIZE_T len = sizeof(struct sockaddr); BUFF *conn_io; conn_rec *current_conn; ap_iol *iol; - - if (getsockname(csd, &sa_server, &len) < 0) { - ap_log_error(APLOG_MARK, APLOG_ERR, errno, server_conf, "getsockname"); - close(csd); - return; - } + int csd; + ap_get_os_sock(&csd, sock); sock_disable_nagle(csd); iol = unix_attach_socket(csd); @@ -766,17 +759,15 @@ ap_log_error(APLOG_MARK, APLOG_WARNING, errno, NULL, "error attaching to socket"); } - close(csd); + ap_close_socket(sock); return; } conn_io = ap_bcreate(p, B_RDWR); ap_bpush_iol(conn_io, iol); - current_conn = ap_new_connection(p, server_conf, conn_io, - (const struct sockaddr_in *) sa_client, - (const struct sockaddr_in *) &sa_server, - conn_id); + current_conn = ap_new_apr_connection(p, server_conf, conn_io, sock, + conn_id); ap_process_connection(current_conn); } @@ -848,7 +839,6 @@ static void *worker_thread(void *arg) { - struct sockaddr sa_client; ap_socket_t *csd = NULL; ap_context_t *tpool; /* Pool for this thread */ ap_context_t *ptrans; /* Pool for per-transaction stuff */ @@ -858,7 +848,6 @@ int thread_just_started = 1; int thread_num = *((int *) arg); long conn_id = child_num * HARD_THREAD_LIMIT + thread_num; - int native_socket; pthread_mutex_lock(&thread_pool_create_mutex); ap_create_context(&tpool, thread_pool_parent); @@ -955,8 +944,7 @@ pthread_mutex_unlock(&idle_thread_count_mutex); break; } - ap_get_os_sock(&native_socket, csd); - process_socket(ptrans, &sa_client, native_socket, conn_id); + process_socket(ptrans, csd, conn_id); ap_clear_pool(ptrans); requests_this_child--; }