| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
This is connected to GH #135 and BitBucket #165
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Closes GH #144
|
| | |
|
| |
|
|
| |
Fixes https://github.com/eventlet/eventlet/issues/123
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Closes GH-102
Closes GH-103
Closes GH-104
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
- dict.items().pop() in proc
- str/bytes in backdoor, api_test, ssl_test, test__refcount
- import httplib from six
- PEP-8 fixes
|
| |
|
|
|
| |
For now, pep8 check is only run for some files known to be clean,
we should clean the rest and enable pep8 check for all files then.
|
| | |
|
| |
|
|
|
|
|
| |
Module `new` was removed in python 3 so we should
remove it's usage due to py3 compability
https://github.com/eventlet/eventlet/pull/87
|
| |
|
|
|
|
| |
https://github.com/eventlet/eventlet/pull/82
Celery could work with eventlet in Python3 now
|
| |
|
|
| |
https://github.com/eventlet/eventlet/pull/59
|
| |
|
|
| |
https://bitbucket.org/eventlet/eventlet/issue/162/eventletgreenprofile-can-not-accumulate
|
| |
|
|
| |
.with_traceback() is not backward compatible, so left to on-demand 2to3 run
|
| |
|
|
| |
print() function syntax
|
| |
|
|
|
|
|
| |
First step to Python 3 compatibility
"2to3 -w -f except ." See [1]
[1] http://docs.python.org/2/library/2to3.html#fixers
|
| |
|
|
| |
https://github.com/eventlet/eventlet/issues/17
|
| |
|
|
| |
Fixes 'Socket has no such option: _EVENTLET_SEND_EVENT' errors
|
| |
|
|
|
| |
https://github.com/eventlet/eventlet/pull/24
eventlet.green.subprocess.Popen.communicate() was broken in python 2.7
|
| |
|
|
|
|
| |
As in Python 3.3 http://docs.python.org/3.3/library/subprocess.html#subprocess.Popen.wait
https://bitbucket.org/eventlet/eventlet/issue/89/add-a-timeout-argument-to-subprocesspopen
https://bitbucket.org/eventlet/eventlet/pull-request/30
|
| |
|
|
| |
https://github.com/eventlet/eventlet/pull/25
|
| |
|
|
| |
threads waiting
|
| |
|
|
|
| |
https://github.com/eventlet/eventlet/issues/9
Regression. Worked in 0.9.16 because .close() method was not overriden.
|
| |
|
|
| |
https://bitbucket.org/which_linden/eventlet/issue/134/greenssl-performance-issues
|
| |
|
|
| |
manager yet
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When calling getsockopt(EVENTS),
green.zmq was attempting to wake
threads that did not exist.
I believe the intention was to
wake self.(send|recv)_event per patch dc4d55d,
but a typo turned this into self.(send|recv)_evt.
This variable has since been renamed
to self._eventlet_(send|recv)_event,
as we will call with this patch.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Avoid using property.setter(), use old-style properties instead.
* Avoid using the new pep8-style threading API.
* Use from __future__ import with_statement where it is used.
* Add python 2.5 environments to tox, no epolls since that did not yet
exist.
|
| |
|
|
|
|
|
| |
Since threading can get imported multiple times, ensure that the _shutdown
symbol is patched so the _MainThread matches what is in _active.
This patch fill fix the KeyError on exit under Python 2.7
|
| |
|
|
|
|
|
|
| |
Add name setter as well as setName and set_name methods. Add ident and
daemon properties as well as isAlive, is_alive, isDaemon and is_daemon
methods.
Add unit tests for GreenThread wrapper
|
| |
|
|
| |
warnings
|
| |
|
|
|
|
|
|
|
|
| |
Fixes bug 115
Patching thread.get_ident() but not threading.current_thread() can
result in _DummyThread objects being created. These objects will
never be garbage collected and will leak memory. In a long running
process (like a daemon), this can result in a pretty significant
memory leak if it uses green threads regularly.
|
| |\ |
|
| | | |
|
| | |
| |
| |
| | |
attributes.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|