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;