diff options
| author | Maxim Dounin <mdounin@mdounin.ru> | 2019-12-24 17:24:59 +0300 |
|---|---|---|
| committer | Maxim Dounin <mdounin@mdounin.ru> | 2019-12-24 17:24:59 +0300 |
| commit | 24f18aea8ce1e847362c6bfa586bc0807ebae90d (patch) | |
| tree | d691aecc335b140cc1deb45bf356421004284df0 /src/event/ngx_event_openssl.h | |
| parent | 810559665a704957431b387572af99a82039162a (diff) | |
| download | nginx-24f18aea8ce1e847362c6bfa586bc0807ebae90d.tar.gz nginx-24f18aea8ce1e847362c6bfa586bc0807ebae90d.tar.bz2 | |
SSL: reworked posted next events.
Introduced in 9d2ad2fb4423 available bytes handling in SSL relied
on connection read handler being overwritten to set the ready flag
and the amount of available bytes. This approach is, however, does
not work properly when connection read handler is changed, for example,
when switching to a next pipelined request, and can result in unexpected
connection timeouts, see here:
http://mailman.nginx.org/pipermail/nginx-devel/2019-December/012825.html
Fix is to introduce ngx_event_process_posted_next() instead, which
will set ready and available regardless of how event handler is set.
Diffstat (limited to 'src/event/ngx_event_openssl.h')
| -rw-r--r-- | src/event/ngx_event_openssl.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/src/event/ngx_event_openssl.h b/src/event/ngx_event_openssl.h index 71df90045..61da0c5db 100644 --- a/src/event/ngx_event_openssl.h +++ b/src/event/ngx_event_openssl.h @@ -86,7 +86,6 @@ struct ngx_ssl_connection_s { ngx_event_handler_pt saved_read_handler; ngx_event_handler_pt saved_write_handler; - ngx_event_handler_pt next_read_handler; u_char early_buf; |
