Mercurial > hg > nginx
comparison src/os/unix/ngx_recv.c @ 148:5afee0074707
nginx-0.0.1-2003-10-17-00:19:16 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 16 Oct 2003 20:19:16 +0000 |
parents | ef8c87afcfc5 |
children | fb61ba77beba |
comparison
equal
deleted
inserted
replaced
147:be71fca7f9d7 | 148:5afee0074707 |
---|---|
20 ngx_log_debug(c->log, "recv: eof:%d, avail:%d, err:%d" _ | 20 ngx_log_debug(c->log, "recv: eof:%d, avail:%d, err:%d" _ |
21 rev->eof _ rev->available _ rev->error); | 21 rev->eof _ rev->available _ rev->error); |
22 | 22 |
23 if (rev->available == 0) { | 23 if (rev->available == 0) { |
24 if (rev->eof) { | 24 if (rev->eof) { |
25 rev->ready = 0; | |
25 if (rev->error) { | 26 if (rev->error) { |
26 rev->ready = 0; | |
27 ngx_set_socket_errno(rev->error); | 27 ngx_set_socket_errno(rev->error); |
28 return ngx_unix_recv_error(rev, rev->error); | 28 return ngx_unix_recv_error(rev, rev->error); |
29 } | 29 } |
30 return 0; | 30 return 0; |
31 | 31 |
42 | 42 |
43 if (n >= 0) { | 43 if (n >= 0) { |
44 if (ngx_event_flags & NGX_HAVE_KQUEUE_EVENT) { | 44 if (ngx_event_flags & NGX_HAVE_KQUEUE_EVENT) { |
45 rev->available -= n; | 45 rev->available -= n; |
46 if (rev->available <= 0) { | 46 if (rev->available <= 0) { |
47 rev->ready = 0; | 47 if (!rev->eof) { |
48 rev->ready = 0; | |
49 } | |
50 | |
48 if (rev->available < 0) { | 51 if (rev->available < 0) { |
49 rev->available = 0; | 52 rev->available = 0; |
50 } | 53 } |
51 } | 54 } |
52 | 55 |