<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/eventlet.git, 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>test for https://github.com/eventlet/eventlet/pull/485</title>
<updated>2020-10-19T00:25:37+00:00</updated>
<author>
<name>Sergey Shepelev</name>
<email>temotor@gmail.com</email>
</author>
<published>2018-05-01T17:58:59+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=cc37a5e72b8bf5a0062243563c91b28dbd4205b2'/>
<id>cc37a5e72b8bf5a0062243563c91b28dbd4205b2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Ensure eventlet SSL HTTPs contexts allow HTTP verify disabled</title>
<updated>2020-10-19T00:25:37+00:00</updated>
<author>
<name>Sam Betts</name>
<email>sam@code-smash.net</email>
</author>
<published>2018-04-30T17:24:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=9d7e5dccf7de8517e4a2c7b47b0412d111e6c2d5'/>
<id>9d7e5dccf7de8517e4a2c7b47b0412d111e6c2d5</id>
<content type='text'>
Python SSL supports a couple of different ways to disable HTTPS
verification, either via an environment variable or via methods defined
in PEP 493. To ensure these work we must call the original
_create_default_https_context function to ensure we are calling the
right default https context (verified or unverified) function according
set by the https context factory.

Fixes #484
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Python SSL supports a couple of different ways to disable HTTPS
verification, either via an environment variable or via methods defined
in PEP 493. To ensure these work we must call the original
_create_default_https_context function to ensure we are calling the
right default https context (verified or unverified) function according
set by the https context factory.

Fixes #484
</pre>
</div>
</content>
</entry>
<entry>
<title>Clean up TypeError in __del__</title>
<updated>2020-09-30T00:48:46+00:00</updated>
<author>
<name>Tim Burke</name>
<email>tim.burke@gmail.com</email>
</author>
<published>2020-09-28T23:30:06+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=f2ebbb87590d0fa4f173599806dfec88caeb9fb9'/>
<id>f2ebbb87590d0fa4f173599806dfec88caeb9fb9</id>
<content type='text'>
At the end of the py2 tests, we would see (ignored) errors like

   Exception TypeError: "'NoneType' object is not callable" in
   &lt;bound method _SocketDuckForFd.__del__ of _SocketDuckForFd:14&gt; ignored
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
At the end of the py2 tests, we would see (ignored) errors like

   Exception TypeError: "'NoneType' object is not callable" in
   &lt;bound method _SocketDuckForFd.__del__ of _SocketDuckForFd:14&gt; ignored
</pre>
</div>
</content>
</entry>
<entry>
<title>v0.28.0 release</title>
<updated>2020-09-23T17:56:27+00:00</updated>
<author>
<name>Sergey Shepelev</name>
<email>temotor@gmail.com</email>
</author>
<published>2020-09-23T17:56:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=7f03295741bdc2c8b8294ca513f1ee5e644a74a5'/>
<id>7f03295741bdc2c8b8294ca513f1ee5e644a74a5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make remove more explicit</title>
<updated>2020-09-23T17:08:30+00:00</updated>
<author>
<name>Clay Gerrard</name>
<email>clay.gerrard@gmail.com</email>
</author>
<published>2020-09-23T17:08:30+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=af253ad97d6e33e86aca56ea5ce5ede1ed0a51cb'/>
<id>af253ad97d6e33e86aca56ea5ce5ede1ed0a51cb</id>
<content type='text'>
There was some concern in fixing hub.remove for secondary listeners
because tests seemed to rely on the implicit robustness of hub.remove
when a listener wasn't being tracked.

It was discovered that socket errors can bubble up in poll and select
hubs which result in all listeners being removed for that fileno before
the listener was alerted (which would then *also* triggered a remove).

Rather than having remove be robust to being called twice this change
makes it be called only once.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There was some concern in fixing hub.remove for secondary listeners
because tests seemed to rely on the implicit robustness of hub.remove
when a listener wasn't being tracked.

It was discovered that socket errors can bubble up in poll and select
hubs which result in all listeners being removed for that fileno before
the listener was alerted (which would then *also* triggered a remove).

Rather than having remove be robust to being called twice this change
makes it be called only once.
</pre>
</div>
</content>
</entry>
<entry>
<title>Always remove the right listener from the hub</title>
<updated>2020-09-23T15:16:27+00:00</updated>
<author>
<name>Samuel Merritt</name>
<email>sam@swiftstack.com</email>
</author>
<published>2018-06-08T03:45:09+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=9f49f0bbb9c18d7478d7c5e2e677ae6452845ab5'/>
<id>9f49f0bbb9c18d7478d7c5e2e677ae6452845ab5</id>
<content type='text'>
When in hubs.trampoline(fd, ...), a greenthread registers itself as a
listener for fd, switches to the hub, and then calls
hub.remove(listener) to deregister itself. hub.remove(listener)
removes the primary listener. If the greenthread awoke because its fd
became ready, then it is the primary listener, and everything is
fine. However, if the greenthread was a secondary listener and awoke
because a Timeout fired then it would remove the primary and promote a
random secondary to primary.

This commit makes hub.remove(listener) check to make sure listener is
the primary, and if it's not, remove the listener from the
secondaries.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When in hubs.trampoline(fd, ...), a greenthread registers itself as a
listener for fd, switches to the hub, and then calls
hub.remove(listener) to deregister itself. hub.remove(listener)
removes the primary listener. If the greenthread awoke because its fd
became ready, then it is the primary listener, and everything is
fine. However, if the greenthread was a secondary listener and awoke
because a Timeout fired then it would remove the primary and promote a
random secondary to primary.

This commit makes hub.remove(listener) check to make sure listener is
the primary, and if it's not, remove the listener from the
secondaries.
</pre>
</div>
</content>
</entry>
<entry>
<title>v0.27.0 release</title>
<updated>2020-09-01T22:05:23+00:00</updated>
<author>
<name>Sergey Shepelev</name>
<email>temotor@gmail.com</email>
</author>
<published>2020-09-01T22:05:23+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=004cc4e6c838c5c218d3a5adb8043bb2afd1cb94'/>
<id>004cc4e6c838c5c218d3a5adb8043bb2afd1cb94</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Clean up threading book-keeping at fork when monkey-patched</title>
<updated>2020-08-29T03:58:07+00:00</updated>
<author>
<name>Tim Burke</name>
<email>tim.burke@gmail.com</email>
</author>
<published>2020-05-07T23:00:30+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=115103d5608cbe8f15df10e27eba1644f5364e95'/>
<id>115103d5608cbe8f15df10e27eba1644f5364e95</id>
<content type='text'>
Previously, if we patched threading then forked (or, in some cases, used
the subprocess module), Python would log an ignored exception like

   Exception ignored in: &lt;function _after_fork at 0x7f16493489d8&gt;
   Traceback (most recent call last):
     File "/usr/lib/python3.7/threading.py", line 1335, in _after_fork
       assert len(_active) == 1
   AssertionError:

This comes down to threading in Python 3.7+ having an import side-effect
of registering an at-fork callback. When we re-import threading to patch
it, the old (but still registered) callback still points to the old
thread-tracking dict, rather than the new dict that's actually doing the
tracking.

Now, register our own at_fork hook that will fix up the dict reference
before threading's _at_fork runs and put it back afterwards.

Closes #592
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, if we patched threading then forked (or, in some cases, used
the subprocess module), Python would log an ignored exception like

   Exception ignored in: &lt;function _after_fork at 0x7f16493489d8&gt;
   Traceback (most recent call last):
     File "/usr/lib/python3.7/threading.py", line 1335, in _after_fork
       assert len(_active) == 1
   AssertionError:

This comes down to threading in Python 3.7+ having an import side-effect
of registering an at-fork callback. When we re-import threading to patch
it, the old (but still registered) callback still points to the old
thread-tracking dict, rather than the new dict that's actually doing the
tracking.

Now, register our own at_fork hook that will fix up the dict reference
before threading's _at_fork runs and put it back afterwards.

Closes #592
</pre>
</div>
</content>
</entry>
<entry>
<title>.travis.yml: Remove superfluous matrix selectors</title>
<updated>2020-08-19T11:25:37+00:00</updated>
<author>
<name>John Vandenberg</name>
<email>jayvdb@gmail.com</email>
</author>
<published>2020-08-19T10:00:15+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=44bfc1e0a95c50af4121695aaefc02e6642f938d'/>
<id>44bfc1e0a95c50af4121695aaefc02e6642f938d</id>
<content type='text'>
sudo: and dist: are no longer needed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
sudo: and dist: are no longer needed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add Python 3.8 testing</title>
<updated>2020-08-19T11:25:37+00:00</updated>
<author>
<name>John Vandenberg</name>
<email>jayvdb@gmail.com</email>
</author>
<published>2020-08-15T15:23:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=1d11865071256c373540f79fa06cdd180ea7601a'/>
<id>1d11865071256c373540f79fa06cdd180ea7601a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
