Mercurial > hg > nginx
comparison src/http/ngx_http_spdy.c @ 5465:a279d2a33dbf
SPDY: drop the "delayed" flag when finalizing connection.
This flag in SPDY fake write events serves the same purposes as the "ready"
flag in real events, and it must be dropped if request needs to be handled.
Otherwise, it can prevent the request from finalization if ngx_http_writer()
was set, which results in a connection leak.
Found by Xiaochen Wang.
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Tue, 10 Dec 2013 20:27:33 +0400 |
parents | db85dacfa013 |
children | 916cb6d28f6a |
comparison
equal
deleted
inserted
replaced
5464:30e806b8636a | 5465:a279d2a33dbf |
---|---|
2853 fc->error = 1; | 2853 fc->error = 1; |
2854 | 2854 |
2855 if (stream->waiting) { | 2855 if (stream->waiting) { |
2856 r->blocked -= stream->waiting; | 2856 r->blocked -= stream->waiting; |
2857 stream->waiting = 0; | 2857 stream->waiting = 0; |
2858 | |
2858 ev = fc->write; | 2859 ev = fc->write; |
2860 ev->delayed = 0; | |
2859 | 2861 |
2860 } else { | 2862 } else { |
2861 ev = fc->read; | 2863 ev = fc->read; |
2862 } | 2864 } |
2863 | 2865 |