Mercurial > hg > nginx-quic
comparison src/event/ngx_event_accept.c @ 59:e8cdc2989cee
nginx-0.0.1-2003-02-06-20:21:13 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 06 Feb 2003 17:21:13 +0000 |
parents | a499e0d1f16e |
children | 50186b49f2ad |
comparison
equal
deleted
inserted
replaced
58:6b13b1cadabe | 59:e8cdc2989cee |
---|---|
29 ngx_log_debug(ev->log, "ngx_event_accept: accept ready: %d" _ | 29 ngx_log_debug(ev->log, "ngx_event_accept: accept ready: %d" _ |
30 ev->available); | 30 ev->available); |
31 | 31 |
32 ev->ready = 0; | 32 ev->ready = 0; |
33 | 33 |
34 #if 0 | |
34 /* DEBUG */ ev->available++; | 35 /* DEBUG */ ev->available++; |
36 #endif | |
35 | 37 |
36 do { | 38 do { |
37 ngx_test_null(pool, ngx_create_pool(ls->pool_size, ev->log), NGX_OK); | 39 ngx_test_null(pool, ngx_create_pool(ls->pool_size, ev->log), NGX_OK); |
38 | 40 |
39 ngx_test_null(sa, ngx_palloc(pool, ls->socklen), NGX_OK); | 41 ngx_test_null(sa, ngx_palloc(pool, ls->socklen), NGX_OK); |
53 ngx_log_error(NGX_LOG_ALERT, ev->log, err, | 55 ngx_log_error(NGX_LOG_ALERT, ev->log, err, |
54 "accept %s failed", ls->addr_text.data); | 56 "accept %s failed", ls->addr_text.data); |
55 return NGX_OK; | 57 return NGX_OK; |
56 } | 58 } |
57 | 59 |
58 #if !(HAVE_INHERITED_NONBLOCK) | 60 |
61 #if (HAVE_INHERITED_NONBLOCK) | |
62 | |
63 #if (HAVE_AIO_EVENT) | |
64 if ((ngx_event_flags & NGX_HAVE_AIO_EVENT)) { | |
65 if (ngx_blocking(s) == -1) { | |
66 ngx_log_error(NGX_LOG_ALERT, ev->log, ngx_socket_errno, | |
67 ngx_blocking_n " %s failed", ls->addr_text.data); | |
68 return NGX_OK; | |
69 } | |
70 } | |
71 #endif | |
72 | |
73 #else /* !HAVE_INHERITED_NONBLOCK */ | |
74 | |
75 #if (HAVE_AIO_EVENT) | |
76 if (!(ngx_event_flags & NGX_HAVE_AIO_EVENT)) { | |
77 if (ngx_nonblocking(s) == -1) { | |
78 ngx_log_error(NGX_LOG_ALERT, ev->log, ngx_socket_errno, | |
79 ngx_nonblocking_n " %s failed", ls->addr_text.data); | |
80 return NGX_OK; | |
81 } | |
82 } | |
83 #else | |
59 if (ngx_nonblocking(s) == -1) { | 84 if (ngx_nonblocking(s) == -1) { |
60 ngx_log_error(NGX_LOG_ALERT, ev->log, ngx_socket_errno, | 85 ngx_log_error(NGX_LOG_ALERT, ev->log, ngx_socket_errno, |
61 ngx_nonblocking_n " %s failed", ls->addr_text.data); | 86 ngx_nonblocking_n " %s failed", ls->addr_text.data); |
87 return NGX_OK; | |
62 } | 88 } |
63 #endif | 89 #endif |
90 | |
91 #endif /* HAVE_INHERITED_NONBLOCK */ | |
92 | |
64 | 93 |
65 rev = &ngx_read_events[s]; | 94 rev = &ngx_read_events[s]; |
66 wev = &ngx_write_events[s]; | 95 wev = &ngx_write_events[s]; |
67 c = &ngx_connections[s]; | 96 c = &ngx_connections[s]; |
68 | 97 |
86 c->write = wev; | 115 c->write = wev; |
87 | 116 |
88 c->fd = s; | 117 c->fd = s; |
89 c->unexpected_eof = 1; | 118 c->unexpected_eof = 1; |
90 wev->write = 1; | 119 wev->write = 1; |
91 wev->ready = 1; | |
92 | 120 |
93 wev->timer = rev->timer = 10000; | 121 #if (HAVE_AIO_EVENT) |
122 if (!(ngx_event_flags & NGX_HAVE_AIO_EVENT)) { | |
123 wev->ready = 1; | |
124 } | |
125 #endif | |
126 | |
127 /* STUB ? */ wev->timer = rev->timer = 10000; | |
128 | |
94 wev->timer_handler = rev->timer_handler = ngx_event_close_connection; | 129 wev->timer_handler = rev->timer_handler = ngx_event_close_connection; |
95 wev->close_handler = rev->close_handler = ngx_event_close_connection; | 130 wev->close_handler = rev->close_handler = ngx_event_close_connection; |
96 | 131 |
97 c->ctx = ls->ctx; | 132 c->ctx = ls->ctx; |
98 c->servers = ls->servers; | 133 c->servers = ls->servers; |