<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/event/modules, branch release-1.3.16</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Events: backout eventport changes (r5172) for now.</title>
<updated>2013-04-16T12:58:03+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2013-04-16T12:58:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=77d60d2cef7fa7b3aa0364d277904c59e18cda14'/>
<id>77d60d2cef7fa7b3aa0364d277904c59e18cda14</id>
<content type='text'>
Evenport method needs more work.  Changes in r5172, while being correct,
introduce various new regressions with current code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Evenport method needs more work.  Changes in r5172, while being correct,
introduce various new regressions with current code.
</pre>
</div>
</content>
</entry>
<entry>
<title>Events: fixed typos in two previous commits.</title>
<updated>2013-04-12T17:31:08+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2013-04-12T17:31:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=c79802924151aed853fd22cb52f21769a0da19d6'/>
<id>c79802924151aed853fd22cb52f21769a0da19d6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Events: handle only active events in eventport.</title>
<updated>2013-04-12T15:04:23+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2013-04-12T15:04:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=c6aebf6c7411c5d43bd63cf61db08a1ec914dc5c'/>
<id>c6aebf6c7411c5d43bd63cf61db08a1ec914dc5c</id>
<content type='text'>
We generate both read and write events if an error event was returned by
port_getn() without POLLIN/POLLOUT, but we should not try to handle inactive
events, they may even have no handler.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We generate both read and write events if an error event was returned by
port_getn() without POLLIN/POLLOUT, but we should not try to handle inactive
events, they may even have no handler.
</pre>
</div>
</content>
</entry>
<entry>
<title>Events: protection from stale events in eventport and devpoll.</title>
<updated>2013-04-12T15:02:33+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2013-04-12T15:02:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=ed9f87c90119832c3c96fb9c352e53db61943fe4'/>
<id>ed9f87c90119832c3c96fb9c352e53db61943fe4</id>
<content type='text'>
Stale write event may happen if read and write events was reported both,
and processing of the read event closed descriptor.

In practice this might result in "sendfilev() failed (134: ..." or
"writev() failed (134: ..." errors when switching to next upstream server.

See report here:
http://mailman.nginx.org/pipermail/nginx/2013-April/038421.html
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Stale write event may happen if read and write events was reported both,
and processing of the read event closed descriptor.

In practice this might result in "sendfilev() failed (134: ..." or
"writev() failed (134: ..." errors when switching to next upstream server.

See report here:
http://mailman.nginx.org/pipermail/nginx/2013-April/038421.html
</pre>
</div>
</content>
</entry>
<entry>
<title>Events: fixed null pointer dereference with resolver and poll.</title>
<updated>2013-01-25T09:59:28+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2013-01-25T09:59:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=33e934ccc8fcf4f62fbbd08c1eb1b396cac5facb'/>
<id>33e934ccc8fcf4f62fbbd08c1eb1b396cac5facb</id>
<content type='text'>
A POLLERR signalled by poll() without POLLIN/POLLOUT, as seen on
Linux, would generate both read and write events, but there's no
write event handler for resolver events.  A fix is to only call
event handler of an active event.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A POLLERR signalled by poll() without POLLIN/POLLOUT, as seen on
Linux, would generate both read and write events, but there's no
write event handler for resolver events.  A fix is to only call
event handler of an active event.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed compilation with -Wmissing-prototypes.</title>
<updated>2012-07-24T15:09:54+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2012-07-24T15:09:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=1efcca36cc97faa42cfc48128b25c9e1ed748bbd'/>
<id>1efcca36cc97faa42cfc48128b25c9e1ed748bbd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed spelling in multiline C comments.</title>
<updated>2012-04-03T07:37:31+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2012-04-03T07:37:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=47a04aaa275d1a9b4a51997910f2b2a881464943'/>
<id>47a04aaa275d1a9b4a51997910f2b2a881464943</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Copyright updated.</title>
<updated>2012-01-18T15:07:43+00:00</updated>
<author>
<name>Maxim Konovalov</name>
<email>maxim@nginx.com</email>
</author>
<published>2012-01-18T15:07:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=f8d59e33f34185c28d1d3c6625a897e214b7ca73'/>
<id>f8d59e33f34185c28d1d3c6625a897e214b7ca73</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed AIO on Linux, broken in r4306.</title>
<updated>2011-11-29T17:27:13+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2011-11-29T17:27:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=c09d65b17990c6c4028df68dfab7a7452ef16d00'/>
<id>c09d65b17990c6c4028df68dfab7a7452ef16d00</id>
<content type='text'>
Events from eventfd do not have c-&gt;write set, and the stale event
check added in r4306 causes null pointer dereference.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Events from eventfd do not have c-&gt;write set, and the stale event
check added in r4306 causes null pointer dereference.
</pre>
</div>
</content>
</entry>
<entry>
<title>Protection from stale write events in epoll.</title>
<updated>2011-11-22T17:02:21+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2011-11-22T17:02:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=7f59728d5b78268ff94f9d3ab464022b48d0f6ea'/>
<id>7f59728d5b78268ff94f9d3ab464022b48d0f6ea</id>
<content type='text'>
Stale write event may happen if epoll_wait() reported both read and write
events, and processing of the read event closed descriptor.

Patch by Yichun Zhang (agentzh).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Stale write event may happen if epoll_wait() reported both read and write
events, and processing of the read event closed descriptor.

Patch by Yichun Zhang (agentzh).
</pre>
</div>
</content>
</entry>
</feed>
