Mercurial > hg > nginx-vendor-1-0
comparison src/mail/ngx_mail_handler.c @ 430:dac47e9ef0d5 NGINX_0_7_27
nginx 0.7.27
*) Feature: the "try_files" directive.
*) Feature: variables support in the "fastcgi_pass" directive.
*) Feature: now the $geo variable may get an address from a
variable.
Thanks to Andrei Nigmatulin.
*) Feature: now a location's modifier may be used without space before
name.
*) Feature: the $upstream_response_length variable.
*) Bugfix: now a "add_header" directive does not add an empty value.
*) Bugfix: if zero length static file was requested, then nginx just
closed connection; the bug had appeared in 0.7.25.
*) Bugfix: a MOVE method could not move file in non-existent directory.
*) Bugfix: a segmentation fault occurred in worker process, if no one
named location was defined in server, but some one was used in an
error_page directive.
Thanks to Sergey Bochenkov.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 15 Dec 2008 00:00:00 +0300 |
parents | a094317ba307 |
children | 33394d1255b0 |
comparison
equal
deleted
inserted
replaced
429:3b8e9d1bc9bb | 430:dac47e9ef0d5 |
---|---|
511 ngx_mail_close_connection(c); | 511 ngx_mail_close_connection(c); |
512 return; | 512 return; |
513 } | 513 } |
514 | 514 |
515 if (s->out.len == 0) { | 515 if (s->out.len == 0) { |
516 if (ngx_handle_write_event(c->write, 0) == NGX_ERROR) { | 516 if (ngx_handle_write_event(c->write, 0) != NGX_OK) { |
517 ngx_mail_close_connection(c); | 517 ngx_mail_close_connection(c); |
518 } | 518 } |
519 | 519 |
520 return; | 520 return; |
521 } | 521 } |
550 | 550 |
551 cscf = ngx_mail_get_module_srv_conf(s, ngx_mail_core_module); | 551 cscf = ngx_mail_get_module_srv_conf(s, ngx_mail_core_module); |
552 | 552 |
553 ngx_add_timer(c->write, cscf->timeout); | 553 ngx_add_timer(c->write, cscf->timeout); |
554 | 554 |
555 if (ngx_handle_write_event(c->write, 0) == NGX_ERROR) { | 555 if (ngx_handle_write_event(c->write, 0) != NGX_OK) { |
556 ngx_mail_close_connection(c); | 556 ngx_mail_close_connection(c); |
557 return; | 557 return; |
558 } | 558 } |
559 } | 559 } |
560 | 560 |
577 if (n > 0) { | 577 if (n > 0) { |
578 s->buffer->last += n; | 578 s->buffer->last += n; |
579 } | 579 } |
580 | 580 |
581 if (n == NGX_AGAIN) { | 581 if (n == NGX_AGAIN) { |
582 if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) { | 582 if (ngx_handle_read_event(c->read, 0) != NGX_OK) { |
583 ngx_mail_session_internal_server_error(s); | 583 ngx_mail_session_internal_server_error(s); |
584 return NGX_ERROR; | 584 return NGX_ERROR; |
585 } | 585 } |
586 | 586 |
587 return NGX_AGAIN; | 587 return NGX_AGAIN; |