<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/eventlet.git/eventlet/queue.py, branch 485-https-noverify-env</title>
<subtitle>github.com: eventlet/eventlet.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/'/>
<entry>
<title>pools: put to empty pool would block sometimes</title>
<updated>2018-07-03T05:59:35+00:00</updated>
<author>
<name>Sam Merritt</name>
<email>spam@andcheese.org</email>
</author>
<published>2018-07-03T05:59:35+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=acd8b65a06e90dbeb1ea416d1cd5922a0727ebd2'/>
<id>acd8b65a06e90dbeb1ea416d1cd5922a0727ebd2</id>
<content type='text'>
If you have a pool with no free items, one greenthread blocked in
pool.get(), and then you call pool.put(item), sometimes the put will
block.

This happens when the greenthread blocked in pool.get() has a pending
timeout. The timeout's timer has fired, the call to throw() has been
scheduled, but throw() has not actually run yet. In pool.put(), we see
a waiting getter, so we do a blocking self.channel.put()... but when
the getter runs, it unwinds its stack and does not take the item,
leaving the caller of pool.put() blocked despite there being enough
free space.

This commit fixes that by (a) making LightQueue.put() and .get() work
with 0-length queues, even with timeouts, and (b) checking for
queue.Full in Pool.put() and handling it correctly.

https://github.com/eventlet/eventlet/pull/495</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If you have a pool with no free items, one greenthread blocked in
pool.get(), and then you call pool.put(item), sometimes the put will
block.

This happens when the greenthread blocked in pool.get() has a pending
timeout. The timeout's timer has fired, the call to throw() has been
scheduled, but throw() has not actually run yet. In pool.put(), we see
a waiting getter, so we do a blocking self.channel.put()... but when
the getter runs, it unwinds its stack and does not take the item,
leaving the caller of pool.put() blocked despite there being enough
free space.

This commit fixes that by (a) making LightQueue.put() and .get() work
with 0-length queues, even with timeouts, and (b) checking for
queue.Full in Pool.put() and handling it correctly.

https://github.com/eventlet/eventlet/pull/495</pre>
</div>
</content>
</entry>
<entry>
<title>external dependencies for six, monotonic, dnspython</title>
<updated>2018-05-10T17:33:32+00:00</updated>
<author>
<name>nat-goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2018-05-10T17:33:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=53b63c66f0d9a7d6ba9182a207529ebd949e95f3'/>
<id>53b63c66f0d9a7d6ba9182a207529ebd949e95f3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>queue: empty except was catching too much</title>
<updated>2017-04-25T22:20:37+00:00</updated>
<author>
<name>Sergey Shepelev</name>
<email>temotor@gmail.com</email>
</author>
<published>2017-04-25T22:20:37+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=0daf3e9da421088e15fb4540302af55a84b8eaf1'/>
<id>0daf3e9da421088e15fb4540302af55a84b8eaf1</id>
<content type='text'>
https://github.com/eventlet/eventlet/issues/407
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/eventlet/eventlet/issues/407
</pre>
</div>
</content>
</entry>
<entry>
<title>python3: Stdlib_Queue from six.moves</title>
<updated>2015-10-13T11:50:10+00:00</updated>
<author>
<name>Sergey Shepelev</name>
<email>temotor@gmail.com</email>
</author>
<published>2015-10-13T11:50:10+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=b5fb94662c323ca473277b3fdf99f61327ec8d53'/>
<id>b5fb94662c323ca473277b3fdf99f61327ec8d53</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix docstring which pointed to wrong Queue</title>
<updated>2015-10-13T10:16:54+00:00</updated>
<author>
<name>Ramakrishnan G</name>
<email>rameshg87@gmail.com</email>
</author>
<published>2015-09-14T11:38:43+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=299da78a65c4c0f87070d92098675677eb113199'/>
<id>299da78a65c4c0f87070d92098675677eb113199</id>
<content type='text'>
This commit fixes the docstring which pointed
to the wrong class eventlet.queue.Queue instead
of the one in standard library.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit fixes the docstring which pointed
to the wrong class eventlet.queue.Queue instead
of the one in standard library.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve PEP8 conformance</title>
<updated>2014-11-11T23:37:09+00:00</updated>
<author>
<name>Jakub Stasiak</name>
<email>jakub@stasiak.at</email>
</author>
<published>2014-11-11T23:36:45+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=019ce17945cd3fac621726fbef7abff93b0c3ef9'/>
<id>019ce17945cd3fac621726fbef7abff93b0c3ef9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Reformat with autopep8</title>
<updated>2014-10-11T00:41:30+00:00</updated>
<author>
<name>Jakub Stasiak</name>
<email>jakub@stasiak.at</email>
</author>
<published>2014-10-10T08:41:15+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=93f2a8d06829d1b6e3cc648d3ee6ad0ee9e51a05'/>
<id>93f2a8d06829d1b6e3cc648d3ee6ad0ee9e51a05</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>PEP-8 fixes</title>
<updated>2014-08-27T06:21:55+00:00</updated>
<author>
<name>Sergey Shepelev</name>
<email>temotor@gmail.com</email>
</author>
<published>2014-07-18T11:21:26+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=203e629212be5cf6e53d577734421d494b255754'/>
<id>203e629212be5cf6e53d577734421d494b255754</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Python3: __bool__, im_code, im_func</title>
<updated>2014-04-24T10:00:14+00:00</updated>
<author>
<name>Victor Sergeyev</name>
<email>viktor.sergeyev@gmail.com</email>
</author>
<published>2014-04-23T11:33:24+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=fb6b46dea0b6a5c7ff83058c492095e3c351a54d'/>
<id>fb6b46dea0b6a5c7ff83058c492095e3c351a54d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>python3 compat fixes</title>
<updated>2014-03-28T06:58:14+00:00</updated>
<author>
<name>Victor Sergeyev</name>
<email>vsergeyev@mirantis.com</email>
</author>
<published>2013-11-25T16:21:40+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=2b2f0a96b44779c5b98c851c55d70ec5e46e41f9'/>
<id>2b2f0a96b44779c5b98c851c55d70ec5e46e41f9</id>
<content type='text'>
https://github.com/eventlet/eventlet/pull/59
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/eventlet/eventlet/pull/59
</pre>
</div>
</content>
</entry>
</feed>
