<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/trollius-git.git/asyncio, branch 3.4.2</title>
<subtitle>github.com: jamadden/trollius.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/trollius-git.git/'/>
<entry>
<title>Python issue 22448: cleanup _run_once(), only iterate once to remove delayed</title>
<updated>2014-09-30T16:02:52+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>victor.stinner@gmail.com</email>
</author>
<published>2014-09-30T16:02:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/trollius-git.git/commit/?id=f9401d73b8e9d0973f86e1d7903b2b16b78b39c2'/>
<id>f9401d73b8e9d0973f86e1d7903b2b16b78b39c2</id>
<content type='text'>
calls that were cancelled.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
calls that were cancelled.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve canceled timer callback handles cleanup (CPython issue #22448)</title>
<updated>2014-09-25T16:02:25+00:00</updated>
<author>
<name>Yury Selivanov</name>
<email>yselivanov@sprymix.com</email>
</author>
<published>2014-09-25T16:02:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/trollius-git.git/commit/?id=0dfb7bf842b3f730722c341bd1b0851637c0a313'/>
<id>0dfb7bf842b3f730722c341bd1b0851637c0a313</id>
<content type='text'>
Patch by Joshua Moore-Oliva.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Patch by Joshua Moore-Oliva.
</pre>
</div>
</content>
</entry>
<entry>
<title>unix_events: Move import statement to sync code with cpython</title>
<updated>2014-09-25T03:23:19+00:00</updated>
<author>
<name>Yury Selivanov</name>
<email>yselivanov@sprymix.com</email>
</author>
<published>2014-09-25T03:23:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/trollius-git.git/commit/?id=43e57b4cc53fc70a15cf1b56cd907f15ffd392c1'/>
<id>43e57b4cc53fc70a15cf1b56cd907f15ffd392c1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>tasks.py: Sync comments updates from cpython tree</title>
<updated>2014-09-25T03:16:48+00:00</updated>
<author>
<name>Yury Selivanov</name>
<email>yselivanov@sprymix.com</email>
</author>
<published>2014-09-25T03:16:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/trollius-git.git/commit/?id=8469bb606d512650f89d07dbe2b91272f30ae907'/>
<id>8469bb606d512650f89d07dbe2b91272f30ae907</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Python issue #22369: Change "context manager protocol" to "context management protocol".</title>
<updated>2014-09-17T21:22:47+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>victor.stinner@gmail.com</email>
</author>
<published>2014-09-17T21:22:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/trollius-git.git/commit/?id=446daa0bef8fc0d371701e3bf53c7a7cbff2dfbb'/>
<id>446daa0bef8fc0d371701e3bf53c7a7cbff2dfbb</id>
<content type='text'>
Patch written by Serhiy Storchaka &lt;storchaka@gmail.com&gt;.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Patch written by Serhiy Storchaka &lt;storchaka@gmail.com&gt;.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix Handle and TimerHandle repr in debug mode</title>
<updated>2014-09-17T21:14:36+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>victor.stinner@gmail.com</email>
</author>
<published>2014-09-17T21:14:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/trollius-git.git/commit/?id=eeeef365cb67138c2335f03ef48d43374c26417b'/>
<id>eeeef365cb67138c2335f03ef48d43374c26417b</id>
<content type='text'>
Tulip issue #206:  In debug mode, keep the callback in the representation of
Handle and TimerHandle after cancel().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Tulip issue #206:  In debug mode, keep the callback in the representation of
Handle and TimerHandle after cancel().
</pre>
</div>
</content>
</entry>
<entry>
<title>Tulip issue #205: Fix a race condition in BaseSelectorEventLoop.sock_connect()</title>
<updated>2014-08-31T13:06:28+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>victor.stinner@gmail.com</email>
</author>
<published>2014-08-31T13:06:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/trollius-git.git/commit/?id=25a84086c03469fc6bd711d662d914b83b811ff1'/>
<id>25a84086c03469fc6bd711d662d914b83b811ff1</id>
<content type='text'>
There is a race condition in create_connection() used with wait_for() to have a
timeout. sock_connect() registers the file descriptor of the socket to be
notified of write event (if connect() raises BlockingIOError). When
create_connection() is cancelled with a TimeoutError, sock_connect() coroutine
gets the exception, but it doesn't unregister the file descriptor for write
event. create_connection() gets the TimeoutError and closes the socket.

If you call again create_connection(), the new socket will likely gets the same
file descriptor, which is still registered in the selector. When sock_connect()
calls add_writer(), it tries to modify the entry instead of creating a new one.

This issue was originally reported in the Trollius project, but the bug comes
from Tulip in fact (Trollius is based on Tulip):
https://bitbucket.org/enovance/trollius/issue/15/after-timeouterror-on-wait_for

This change fixes the race condition. It also makes sock_connect() more
reliable (and portable) is sock.connect() raises an InterruptedError.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There is a race condition in create_connection() used with wait_for() to have a
timeout. sock_connect() registers the file descriptor of the socket to be
notified of write event (if connect() raises BlockingIOError). When
create_connection() is cancelled with a TimeoutError, sock_connect() coroutine
gets the exception, but it doesn't unregister the file descriptor for write
event. create_connection() gets the TimeoutError and closes the socket.

If you call again create_connection(), the new socket will likely gets the same
file descriptor, which is still registered in the selector. When sock_connect()
calls add_writer(), it tries to modify the entry instead of creating a new one.

This issue was originally reported in the Trollius project, but the bug comes
from Tulip in fact (Trollius is based on Tulip):
https://bitbucket.org/enovance/trollius/issue/15/after-timeouterror-on-wait_for

This change fixes the race condition. It also makes sock_connect() more
reliable (and portable) is sock.connect() raises an InterruptedError.
</pre>
</div>
</content>
</entry>
<entry>
<title>Tulip issue #201: Fix a race condition in wait_for()</title>
<updated>2014-08-28T09:14:14+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>victor.stinner@gmail.com</email>
</author>
<published>2014-08-28T09:14:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/trollius-git.git/commit/?id=e637bf51253ae860c0a343433d8244636fa70da3'/>
<id>e637bf51253ae860c0a343433d8244636fa70da3</id>
<content type='text'>
Don't raise a TimeoutError if we reached the timeout and the future completed
in the same iteration of the event loop. A side effect of the bug is that
Queue.get() looses items.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Don't raise a TimeoutError if we reached the timeout and the future completed
in the same iteration of the event loop. A side effect of the bug is that
Queue.get() looses items.
</pre>
</div>
</content>
</entry>
<entry>
<title>Tulip issue #203: Add _FlowControlMixin.get_write_buffer_limits() method</title>
<updated>2014-08-25T22:10:48+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>victor.stinner@gmail.com</email>
</author>
<published>2014-08-25T22:10:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/trollius-git.git/commit/?id=efd90f2b66beb1eefdd821b0077401246e4e3ca9'/>
<id>efd90f2b66beb1eefdd821b0077401246e4e3ca9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Tulip issue #200: Log errors in debug mode instead of simply ignoring them.</title>
<updated>2014-08-25T21:09:15+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>victor.stinner@gmail.com</email>
</author>
<published>2014-08-25T21:09:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/trollius-git.git/commit/?id=bc50b26945606682ce129863c1fb6fd2808147c1'/>
<id>bc50b26945606682ce129863c1fb6fd2808147c1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
