<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/trollius.git, branch 3.4.2</title>
<subtitle>bitbucket.org: Obsolete (use python-packages/trollius-git)
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/trollius.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/commit/?id=e53a8b8c1c963f2469c2d3278f2cfaf1646464f6'/>
<id>e53a8b8c1c963f2469c2d3278f2cfaf1646464f6</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>test_tasks: Fix test_env_var_debug to use correct asyncio module (issue #207)</title>
<updated>2014-09-25T23:09:54+00:00</updated>
<author>
<name>Yury Selivanov</name>
<email>yselivanov@sprymix.com</email>
</author>
<published>2014-09-25T23:09:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/trollius.git/commit/?id=07e4a472d8ddbc4f82083663598c73d03cd8e802'/>
<id>07e4a472d8ddbc4f82083663598c73d03cd8e802</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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/commit/?id=5456cc9b6c3b863e022e0f227d64c59b89146797'/>
<id>5456cc9b6c3b863e022e0f227d64c59b89146797</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/commit/?id=94fa287cc3c7692284adcc5c047e4d08e25258de'/>
<id>94fa287cc3c7692284adcc5c047e4d08e25258de</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/commit/?id=f71bd582d8342a6a3afe458675d58f411b661a1d'/>
<id>f71bd582d8342a6a3afe458675d58f411b661a1d</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/commit/?id=299e4a6ef908904464f006dad2a7ab020b7e5654'/>
<id>299e4a6ef908904464f006dad2a7ab020b7e5654</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/commit/?id=8640685401f459191146d9c21a35b4ae792fdf2a'/>
<id>8640685401f459191146d9c21a35b4ae792fdf2a</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/commit/?id=83bf2d5f2b45a4e2f27c57a96288cc97c52d9e85'/>
<id>83bf2d5f2b45a4e2f27c57a96288cc97c52d9e85</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>runtests.py: display a message to mention if tests are run in debug or release mode</title>
<updated>2014-08-28T09:21:37+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>victor.stinner@gmail.com</email>
</author>
<published>2014-08-28T09:21:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/trollius.git/commit/?id=ce8654d3d6b9b39a17842175bf16bef7fe24acdb'/>
<id>ce8654d3d6b9b39a17842175bf16bef7fe24acdb</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 #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/commit/?id=dc641c8e14fac41d01c2daec9e76b2543debd05a'/>
<id>dc641c8e14fac41d01c2daec9e76b2543debd05a</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>
</feed>
