diff options
author | Maxim Dounin <mdounin@mdounin.ru> | 2011-10-31 09:53:16 +0000 |
---|---|---|
committer | Maxim Dounin <mdounin@mdounin.ru> | 2011-10-31 09:53:16 +0000 |
commit | 59205ce10909ca0b50fbc70f4bf98e539ce176d5 (patch) | |
tree | 7e1e5c8dfa7c679611e882169773c2cf713aa821 /src/http/modules/perl/nginx.pm | |
parent | 200a0d86562d23176d0147936c518e99cf807fa0 (diff) | |
download | nginx-59205ce10909ca0b50fbc70f4bf98e539ce176d5.tar.gz nginx-59205ce10909ca0b50fbc70f4bf98e539ce176d5.zip |
Event pipe: fixes for complex protocols.
1. In ngx_event_pipe_write_chain_to_temp_file() make sure to fully write
all shadow buffers up to last_shadow. With this change recycled buffers
cannot appear in p->out anymore. This also fixes segmentation faults
observed due to ngx_event_pipe_write_chain_to_temp() not freeing any
raw buffers while still returning NGX_OK.
2. In ngx_event_pipe_write_to_downstream() we now properly check for busy
size as a size of buffers, not a size of data in these buffers. This
fixes situations where all available buffers became busy (including
segmentation faults due to this).
3. The ngx_event_pipe_free_shadow_raw_buf() function is dropped. It's
incorrect and not needed.
Diffstat (limited to 'src/http/modules/perl/nginx.pm')
0 files changed, 0 insertions, 0 deletions