Skip to content

Commit 99f3939

Browse files
committed
Merge pull request yaoweibin#20 from chobits/master
check active close from peer in ngx_http_check_recv_handler()
2 parents 327249c + fa09be5 commit 99f3939

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

ngx_http_upstream_check_handler.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -544,10 +544,10 @@ ngx_http_check_send_handler(ngx_event_t *event)
544544
size, ctx->send.last - ctx->send.pos);
545545
#endif
546546

547-
if (size >= 0) {
547+
if (size > 0) {
548548
ctx->send.pos += size;
549549

550-
} else if (size == NGX_AGAIN) {
550+
} else if (size == 0 || size == NGX_AGAIN) {
551551
return;
552552

553553
} else {
@@ -659,6 +659,12 @@ ngx_http_check_recv_handler(ngx_event_t *event)
659659
switch (rc) {
660660

661661
case NGX_AGAIN:
662+
/* The peer has closed its half side of the connection. */
663+
if (size == 0) {
664+
ngx_http_check_status_update(peer, 0);
665+
break;
666+
}
667+
662668
return;
663669

664670
case NGX_ERROR:

0 commit comments

Comments
 (0)