<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src, branch release-1.7.8</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Cache: proper wakeup of subrequests.</title>
<updated>2014-12-02T02:54:56+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2014-12-02T02:54:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=6d52912a2a98eb3340564cf0b0627194a978d152'/>
<id>6d52912a2a98eb3340564cf0b0627194a978d152</id>
<content type='text'>
In case of a cache lock timeout and in the aio handler we now call
r-&gt;write_event_handler() instead of a connection write handler,
to make sure to run appropriate subrequest.  Previous code failed to run
inactive subrequests and hence resulted in suboptimal behaviour, see
report by Yichun Zhang:

http://mailman.nginx.org/pipermail/nginx-devel/2013-October/004435.html

(Infinite hang claimed in the report seems impossible without 3rd party
modules, as subrequests will be eventually woken up by the postpone filter.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In case of a cache lock timeout and in the aio handler we now call
r-&gt;write_event_handler() instead of a connection write handler,
to make sure to run appropriate subrequest.  Previous code failed to run
inactive subrequests and hence resulted in suboptimal behaviour, see
report by Yichun Zhang:

http://mailman.nginx.org/pipermail/nginx-devel/2013-October/004435.html

(Infinite hang claimed in the report seems impossible without 3rd party
modules, as subrequests will be eventually woken up by the postpone filter.)
</pre>
</div>
</content>
</entry>
<entry>
<title>Upstream: improved subrequest logging.</title>
<updated>2014-12-02T02:54:54+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2014-12-02T02:54:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=10345663c8d7d011ae186fb22d5fdf9a1912b80d'/>
<id>10345663c8d7d011ae186fb22d5fdf9a1912b80d</id>
<content type='text'>
To ensure proper logging make sure to set current_request in all event
handlers, including resolve, ssl handshake, cache lock wait timer and
aio read handlers.  A macro ngx_http_set_log_request() introduced to
simplify this.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To ensure proper logging make sure to set current_request in all event
handlers, including resolve, ssl handshake, cache lock wait timer and
aio read handlers.  A macro ngx_http_set_log_request() introduced to
simplify this.
</pre>
</div>
</content>
</entry>
<entry>
<title>Access log: restricted "log_format" to "http" level.</title>
<updated>2014-12-01T11:51:36+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2014-12-01T11:51:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=778cc4b42ea85e19a8ebf6c1a42fc636e48ec309'/>
<id>778cc4b42ea85e19a8ebf6c1a42fc636e48ec309</id>
<content type='text'>
Specifying the "log_format" directive on levels other than "http"
is deprecated since 73d37e1ccb91 (1.1.11).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Specifying the "log_format" directive on levels other than "http"
is deprecated since 73d37e1ccb91 (1.1.11).
</pre>
</div>
</content>
</entry>
<entry>
<title>Write filter: fixed handling of sync bufs (ticket #132).</title>
<updated>2014-11-28T13:58:39+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2014-11-28T13:58:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=ece388033aef4325691a676b08a2e5278de39e71'/>
<id>ece388033aef4325691a676b08a2e5278de39e71</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed post_action to not trigger "header already sent" alert.</title>
<updated>2014-11-28T13:57:50+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2014-11-28T13:57:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=7fa89c744afd1f05f4405d9a60b8c63a65ea56cc'/>
<id>7fa89c744afd1f05f4405d9a60b8c63a65ea56cc</id>
<content type='text'>
The alert was introduced in 03ff14058272 (1.5.4), and was triggered on each
post_action invocation.

There is no real need to call header filters in case of post_action,
so return NGX_OK from ngx_http_send_header() if r-&gt;post_action is set.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The alert was introduced in 03ff14058272 (1.5.4), and was triggered on each
post_action invocation.

There is no real need to call header filters in case of post_action,
so return NGX_OK from ngx_http_send_header() if r-&gt;post_action is set.
</pre>
</div>
</content>
</entry>
<entry>
<title>Typo.</title>
<updated>2014-11-28T13:57:23+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2014-11-28T13:57:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=d228fa5093e216465810c8a7b34284e84682622e'/>
<id>d228fa5093e216465810c8a7b34284e84682622e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>SPDY: push pending data while closing a stream as with keepalive.</title>
<updated>2014-11-21T19:51:49+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2014-11-21T19:51:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=decaffa805938a76977c3290ade67968bcef558e'/>
<id>decaffa805938a76977c3290ade67968bcef558e</id>
<content type='text'>
This helps to avoid delays in sending the last chunk of data because
of bad interaction between Nagle's algorithm on nginx side and
delayed ACK on the client side.

Delays could also be caused by TCP_CORK/TCP_NOPUSH if SPDY was
working without SSL and sendfile() was used.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This helps to avoid delays in sending the last chunk of data because
of bad interaction between Nagle's algorithm on nginx side and
delayed ACK on the client side.

Delays could also be caused by TCP_CORK/TCP_NOPUSH if SPDY was
working without SSL and sendfile() was used.
</pre>
</div>
</content>
</entry>
<entry>
<title>Syslog: allowed underscore symbol in tag (ticket #667).</title>
<updated>2014-11-20T17:02:21+00:00</updated>
<author>
<name>Vladimir Homutov</name>
<email>vl@nginx.com</email>
</author>
<published>2014-11-20T17:02:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=742b5dd04514024849447df3343ab00654fcaaac'/>
<id>742b5dd04514024849447df3343ab00654fcaaac</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolver: fixed debug event logging.</title>
<updated>2014-11-20T12:24:42+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2014-11-20T12:24:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=ef563debf1f0a3c15bde6ca645af646ad38d66cf'/>
<id>ef563debf1f0a3c15bde6ca645af646ad38d66cf</id>
<content type='text'>
In 954867a2f0a6, we switched to using resolver node as the timer event data.
This broke debug event logging.

Replaced now unused ngx_resolver_ctx_t.ident with ngx_resolver_node_t.ident
so that ngx_event_ident() extracts something sensible when accessing
ngx_resolver_node_t as ngx_connection_t.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In 954867a2f0a6, we switched to using resolver node as the timer event data.
This broke debug event logging.

Replaced now unused ngx_resolver_ctx_t.ident with ngx_resolver_node_t.ident
so that ngx_event_ident() extracts something sensible when accessing
ngx_resolver_node_t as ngx_connection_t.
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolver: fixed use-after-free memory access.</title>
<updated>2014-11-20T12:24:40+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2014-11-20T12:24:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=d4b7b74686cdfe7488214a210a95da0af0736f8e'/>
<id>d4b7b74686cdfe7488214a210a95da0af0736f8e</id>
<content type='text'>
In 954867a2f0a6, we switched to using resolver node as the
timer event data, so make sure we do not free resolver node
memory until the corresponding timer is deleted.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In 954867a2f0a6, we switched to using resolver node as the
timer event data, so make sure we do not free resolver node
memory until the corresponding timer is deleted.
</pre>
</div>
</content>
</entry>
</feed>
