Deleted
Added
nxt_conn_accept.c (62:5e1efcc7b740) | nxt_conn_accept.c (65:10688b89aa16) |
---|---|
1 2/* 3 * Copyright (C) Igor Sysoev 4 * Copyright (C) NGINX, Inc. 5 */ 6 7#include <nxt_main.h> 8 --- 68 unchanged lines hidden (view full) --- 77 78 return NULL; 79} 80 81 82static nxt_conn_t * 83nxt_conn_accept_alloc(nxt_task_t *task, nxt_listen_event_t *lev) 84{ | 1 2/* 3 * Copyright (C) Igor Sysoev 4 * Copyright (C) NGINX, Inc. 5 */ 6 7#include <nxt_main.h> 8 --- 68 unchanged lines hidden (view full) --- 77 78 return NULL; 79} 80 81 82static nxt_conn_t * 83nxt_conn_accept_alloc(nxt_task_t *task, nxt_listen_event_t *lev) 84{ |
85 nxt_mp_t *mp; |
|
85 nxt_conn_t *c; 86 nxt_sockaddr_t *sa, *remote; | 86 nxt_conn_t *c; 87 nxt_sockaddr_t *sa, *remote; |
87 nxt_mem_pool_t *mp; | |
88 nxt_event_engine_t *engine; 89 nxt_listen_socket_t *ls; 90 91 engine = task->thread->engine; 92 93 if (engine->connections < engine->max_connections) { 94 | 88 nxt_event_engine_t *engine; 89 nxt_listen_socket_t *ls; 90 91 engine = task->thread->engine; 92 93 if (engine->connections < engine->max_connections) { 94 |
95 mp = nxt_mem_pool_create(lev->listen->mem_pool_size); | 95 mp = nxt_mp_create(1024, 128, 256, 32); |
96 97 if (nxt_fast_path(mp != NULL)) { | 96 97 if (nxt_fast_path(mp != NULL)) { |
98 /* This allocation cannot fail. */ | |
99 c = nxt_conn_create(mp, lev->socket.task); | 98 c = nxt_conn_create(mp, lev->socket.task); |
99 if (nxt_slow_path(c == NULL)) { 100 goto fail; 101 } |
|
100 101 lev->next = c; 102 c->socket.read_work_queue = lev->socket.read_work_queue; 103 c->socket.write_ready = 1; 104 c->listen = lev; 105 106 ls = lev->listen; | 102 103 lev->next = c; 104 c->socket.read_work_queue = lev->socket.read_work_queue; 105 c->socket.write_ready = 1; 106 c->listen = lev; 107 108 ls = lev->listen; |
107 /* This allocation cannot fail. */ | 109 |
108 remote = nxt_sockaddr_alloc(mp, ls->socklen, ls->address_length); | 110 remote = nxt_sockaddr_alloc(mp, ls->socklen, ls->address_length); |
111 if (nxt_slow_path(remote == NULL)) { 112 goto fail; 113 } 114 |
|
109 c->remote = remote; 110 111 sa = ls->sockaddr; 112 remote->type = sa->type; 113 /* 114 * Set address family for unspecified Unix domain, 115 * because these sockaddr's are not be passed to accept(). 116 */ 117 remote->u.sockaddr.sa_family = sa->u.sockaddr.sa_family; 118 119 return c; 120 } | 115 c->remote = remote; 116 117 sa = ls->sockaddr; 118 remote->type = sa->type; 119 /* 120 * Set address family for unspecified Unix domain, 121 * because these sockaddr's are not be passed to accept(). 122 */ 123 remote->u.sockaddr.sa_family = sa->u.sockaddr.sa_family; 124 125 return c; 126 } |
127 128 fail: 129 130 nxt_mp_destroy(mp); |
|
121 } 122 123 return NULL; 124} 125 126 127static void 128nxt_conn_listen_handler(nxt_task_t *task, void *obj, void *data) --- 238 unchanged lines hidden --- | 131 } 132 133 return NULL; 134} 135 136 137static void 138nxt_conn_listen_handler(nxt_task_t *task, void *obj, void *data) --- 238 unchanged lines hidden --- |