Mercurial > hg > nginx
comparison src/mail/ngx_mail_smtp_handler.c @ 7789:ab6257dac2a8
Mail: added missing event handling after blocking events.
As long as a read event is blocked (ignored), ngx_handle_read_event()
needs to be called to make sure no further notifications will be
triggered when using level-triggered event methods, such as select() or
poll().
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 05 Mar 2021 17:16:16 +0300 |
parents | fcd92ad76b7b |
children | da0a85e91587 |
comparison
equal
deleted
inserted
replaced
7788:9ca8fb98ef1c | 7789:ab6257dac2a8 |
---|---|
447 } | 447 } |
448 | 448 |
449 if (s->out.len) { | 449 if (s->out.len) { |
450 ngx_log_debug0(NGX_LOG_DEBUG_MAIL, c->log, 0, "smtp send handler busy"); | 450 ngx_log_debug0(NGX_LOG_DEBUG_MAIL, c->log, 0, "smtp send handler busy"); |
451 s->blocked = 1; | 451 s->blocked = 1; |
452 | |
453 if (ngx_handle_read_event(c->read, 0) != NGX_OK) { | |
454 ngx_mail_close_connection(c); | |
455 return; | |
456 } | |
457 | |
452 return; | 458 return; |
453 } | 459 } |
454 | 460 |
455 s->blocked = 0; | 461 s->blocked = 0; |
456 | 462 |