Mercurial > hg > nginx
comparison src/mail/ngx_mail_pop3_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 | b2915d99ee8d |
children | da0a85e91587 |
comparison
equal
deleted
inserted
replaced
7788:9ca8fb98ef1c | 7789:ab6257dac2a8 |
---|---|
136 } | 136 } |
137 | 137 |
138 if (s->out.len) { | 138 if (s->out.len) { |
139 ngx_log_debug0(NGX_LOG_DEBUG_MAIL, c->log, 0, "pop3 send handler busy"); | 139 ngx_log_debug0(NGX_LOG_DEBUG_MAIL, c->log, 0, "pop3 send handler busy"); |
140 s->blocked = 1; | 140 s->blocked = 1; |
141 | |
142 if (ngx_handle_read_event(c->read, 0) != NGX_OK) { | |
143 ngx_mail_close_connection(c); | |
144 return; | |
145 } | |
146 | |
141 return; | 147 return; |
142 } | 148 } |
143 | 149 |
144 s->blocked = 0; | 150 s->blocked = 0; |
145 | 151 |