<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/eventlet.git/eventlet/greenio.py, branch python3-clean</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>Fix "maximum recursion depth exceeded in GreenSocket.__del__"</title>
<updated>2014-10-16T22:02:01+00:00</updated>
<author>
<name>Jakub Stasiak</name>
<email>jakub@stasiak.at</email>
</author>
<published>2014-10-15T23:01:29+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=325b5afd1f073bbd652332cc05f54125b5c8992c'/>
<id>325b5afd1f073bbd652332cc05f54125b5c8992c</id>
<content type='text'>
Closes #137
Closes #148
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #137
Closes #148
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove dead code</title>
<updated>2014-10-15T23:01:04+00:00</updated>
<author>
<name>Jakub Stasiak</name>
<email>jakub@stasiak.at</email>
</author>
<published>2014-10-15T23:01:04+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=0b8f44f244c5b89ebeca3ec57af729cc2a766398'/>
<id>0b8f44f244c5b89ebeca3ec57af729cc2a766398</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>Python 3 compat: Improve various bits</title>
<updated>2014-10-10T08:17:41+00:00</updated>
<author>
<name>Jakub Stasiak</name>
<email>jakub@stasiak.at</email>
</author>
<published>2014-10-05T23:38:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=6cbd4846ab2f12b1c18c38b570293c0bb05d28a7'/>
<id>6cbd4846ab2f12b1c18c38b570293c0bb05d28a7</id>
<content type='text'>
This includes changes to WSGI, websocket, bytes/str/unicode handling,
SSL, backdoor, greenio and tests.

Some comments and conditionals (PY2/PY3) were added for clarity

GH issues:

Closes #106
Closes #111
Closes #118
Closes #141

Incidentally should also close #135 (reopen if didn't)

cc #6
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This includes changes to WSGI, websocket, bytes/str/unicode handling,
SSL, backdoor, greenio and tests.

Some comments and conditionals (PY2/PY3) were added for clarity

GH issues:

Closes #106
Closes #111
Closes #118
Closes #141

Incidentally should also close #135 (reopen if didn't)

cc #6
</pre>
</div>
</content>
</entry>
<entry>
<title>greenio: When we mark a socket as closed we still need to be able to close it</title>
<updated>2014-08-27T21:51:44+00:00</updated>
<author>
<name>Michael Kerrin</name>
<email>michael.kerrin@hp.com</email>
</author>
<published>2014-08-22T09:24:14+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=d4d09ac622cc5885f805d9f7d91632f1c33ca8b2'/>
<id>d4d09ac622cc5885f805d9f7d91632f1c33ca8b2</id>
<content type='text'>
https://github.com/eventlet/eventlet/issues/122

After a long running job that highlighted a previous known issue with
Second Simultaneous Read issue I used http://mg.pov.lt/objgraph/ to print
out all the types and counts still referenced by the GC.

Before this patch I was seeing GreenSocket and _socketobject types been
referenced. Depending on how long I ran the test job for I saw more references
to these objects. After this patch I see no reference no matter how long I
run my test for.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/eventlet/eventlet/issues/122

After a long running job that highlighted a previous known issue with
Second Simultaneous Read issue I used http://mg.pov.lt/objgraph/ to print
out all the types and counts still referenced by the GC.

Before this patch I was seeing GreenSocket and _socketobject types been
referenced. Depending on how long I ran the test job for I saw more references
to these objects. After this patch I see no reference no matter how long I
run my test for.
</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>hubs: defang after remove; related to second simultaneous read issue</title>
<updated>2014-08-12T08:10:42+00:00</updated>
<author>
<name>Michael Kerrin</name>
<email>michael.kerrin@hp.com</email>
</author>
<published>2014-06-25T08:13:02+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=8f98f8b63443394dbcf8c506a2a2686b3c933ce9'/>
<id>8f98f8b63443394dbcf8c506a2a2686b3c933ce9</id>
<content type='text'>
https://github.com/eventlet/eventlet/issues/94

We have to defang the listener after removing it from the hub

Otherwise we never actaully remove it from the hub and get a return of the
second simultanous read.

This should fix this issue.

Turn off __builtin__ monkey patching by default

The reason is that eventlet.greenio.GreenPipe tries to
adapt an original file f, and performs the following check
isinstance(f, file) f is an original file object with file
is now our file method. This fails causing TypeError

nova-api exercises this

Fix up zmq to use the extended add signature

Having heard no problems relating eventlet and zmq,
I'm not going to dive in and drop random pataches against
it. If the 'Second simultaneous *er' crops up against
zmw then we at least now have the machinery to
address it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/eventlet/eventlet/issues/94

We have to defang the listener after removing it from the hub

Otherwise we never actaully remove it from the hub and get a return of the
second simultanous read.

This should fix this issue.

Turn off __builtin__ monkey patching by default

The reason is that eventlet.greenio.GreenPipe tries to
adapt an original file f, and performs the following check
isinstance(f, file) f is an original file object with file
is now our file method. This fails causing TypeError

nova-api exercises this

Fix up zmq to use the extended add signature

Having heard no problems relating eventlet and zmq,
I'm not going to dive in and drop random pataches against
it. If the 'Second simultaneous *er' crops up against
zmw then we at least now have the machinery to
address it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix second simultaneous read (parallel paramiko issue)</title>
<updated>2014-08-11T21:14:58+00:00</updated>
<author>
<name>Jan Grant</name>
<email>jan.grant@hp.com</email>
</author>
<published>2014-06-20T12:31:20+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=da87716714689894f23d0db7b003f26d97031e83'/>
<id>da87716714689894f23d0db7b003f26d97031e83</id>
<content type='text'>
https://github.com/eventlet/eventlet/issues/94

Because of the way paramiko utilises a client thread to manage its
communication, it's not been compatible with eventlet when run in
parallel.

It's not the only place these problems would arise.

This stemmed from the reuse of a fileno by the underlying OS.
Because listeners are registered against this descriptor, it would
be possible for old listeners to receive events destined for newer
descriptors; occasionally code would attempt to utilise the new
descriptor from a different greenlet, giving rise to the 'second
simultaneous read' problem.

Whenever a Python object is created to wrap one of these filenos,
we now signal the hub in order that it can correctly obsolete
extant listeners against that fileno. This is a fairly tricky
operation, due to the way that listeners' threads are interleaved
with the hub's operation - there are a number of small fixes here
to defend against one listener from effectively obsoleting another
when an event is pending against it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/eventlet/eventlet/issues/94

Because of the way paramiko utilises a client thread to manage its
communication, it's not been compatible with eventlet when run in
parallel.

It's not the only place these problems would arise.

This stemmed from the reuse of a fileno by the underlying OS.
Because listeners are registered against this descriptor, it would
be possible for old listeners to receive events destined for newer
descriptors; occasionally code would attempt to utilise the new
descriptor from a different greenlet, giving rise to the 'second
simultaneous read' problem.

Whenever a Python object is created to wrap one of these filenos,
we now signal the hub in order that it can correctly obsolete
extant listeners against that fileno. This is a fairly tricky
operation, due to the way that listeners' threads are interleaved
with the hub's operation - there are a number of small fixes here
to defend against one listener from effectively obsoleting another
when an event is pending against it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Python 3 compatibility fixes</title>
<updated>2014-07-17T22:12:53+00:00</updated>
<author>
<name>Jakub Stasiak</name>
<email>jakub@stasiak.at</email>
</author>
<published>2014-06-16T00:31:25+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=6afd8bdee225b04352a629fda7f3302c16905a92'/>
<id>6afd8bdee225b04352a629fda7f3302c16905a92</id>
<content type='text'>
Closes GH-102
Closes GH-103
Closes GH-104
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes GH-102
Closes GH-103
Closes GH-104
</pre>
</div>
</content>
</entry>
<entry>
<title>greenio, tpool: python3 compatibility</title>
<updated>2014-07-17T22:10:43+00:00</updated>
<author>
<name>Sergey Shepelev</name>
<email>temotor@gmail.com</email>
</author>
<published>2014-04-24T13:42:30+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=f37a87b1f8e2f09b8a30c2e947486cf0858650cd'/>
<id>f37a87b1f8e2f09b8a30c2e947486cf0858650cd</id>
<content type='text'>
Also:
- PEP-8
- check both EAGAIN/EWOULDBLOCK
- use system implementation of GreenPipe.readinto()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also:
- PEP-8
- check both EAGAIN/EWOULDBLOCK
- use system implementation of GreenPipe.readinto()
</pre>
</div>
</content>
</entry>
</feed>
