comparison src/os/unix/ngx_recv.c @ 184:1bf718ce0dde

nginx-0.0.1-2003-11-14-10:20:34 import
author Igor Sysoev <igor@sysoev.ru>
date Fri, 14 Nov 2003 07:20:34 +0000
parents fb61ba77beba
children 0061d1f0908d
comparison
equal deleted inserted replaced
183:4c698194c56d 184:1bf718ce0dde
38 } 38 }
39 } 39 }
40 } 40 }
41 41
42 do { 42 do {
43 rev->ready = 1;
44
43 n = recv(c->fd, buf, size, 0); 45 n = recv(c->fd, buf, size, 0);
44 46
45 ngx_log_debug(c->log, "recv: %d:%d" _ n _ size); 47 ngx_log_debug(c->log, "recv: %d:%d" _ n _ size);
46 48
47 if (n >= 0) { 49 if (n >= 0) {
76 78
77 return n; 79 return n;
78 } 80 }
79 81
80 rev->ready = 0; 82 rev->ready = 0;
81 rev->error = 1;
82 n = ngx_unix_recv_error(rev, ngx_socket_errno); 83 n = ngx_unix_recv_error(rev, ngx_socket_errno);
83 84
84 } while (n == NGX_EINTR); 85 } while (n == NGX_EINTR);
86
87 if (n == NGX_ERROR){
88 rev->error = 1;
89 }
85 90
86 return n; 91 return n;
87 } 92 }
88 93
89 #else /* ! NAVE_KQUEUE */ 94 #else /* ! NAVE_KQUEUE */
94 ngx_event_t *rev; 99 ngx_event_t *rev;
95 100
96 rev = c->read; 101 rev = c->read;
97 102
98 do { 103 do {
104 rev->ready = 1;
105
99 n = recv(c->fd, buf, size, 0); 106 n = recv(c->fd, buf, size, 0);
100 107
101 ngx_log_debug(c->log, "recv: %d:%d" _ n _ size); 108 ngx_log_debug(c->log, "recv: %d:%d" _ n _ size);
102 109
103 if (n >= 0) { 110 if (n >= 0) {
111 118
112 return n; 119 return n;
113 } 120 }
114 121
115 rev->ready = 0; 122 rev->ready = 0;
116 rev->error = 1;
117 n = ngx_unix_recv_error(rev, ngx_socket_errno); 123 n = ngx_unix_recv_error(rev, ngx_socket_errno);
118 124
119 } while (n == NGX_EINTR); 125 } while (n == NGX_EINTR);
126
127 if (n == NGX_ERROR){
128 rev->error = 1;
129 }
120 130
121 return n; 131 return n;
122 } 132 }
123 133
124 #endif /* NAVE_KQUEUE */ 134 #endif /* NAVE_KQUEUE */