summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* hubs: defang after remove; related to second simultaneous read issue94-second-readMichael Kerrin2014-08-125-10/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix second simultaneous read (parallel paramiko issue)Jan Grant2014-08-1211-62/+362
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* tests: Update bundled mock library to 1.0.1Jakub Stasiak2014-07-181-129/+2251
|
* Travis: Enable fast build finishJakub Stasiak2014-07-181-0/+1
|
* wsgi: websocket: Reformat code + tests (PEP-8)Jakub Stasiak2014-07-185-265/+278
|
* Python 3 compatibility fixesJakub Stasiak2014-07-1817-179/+217
| | | | | | Closes GH-102 Closes GH-103 Closes GH-104
* greenio, tpool: python3 compatibilitySergey Shepelev2014-07-183-82/+70
| | | | | | | Also: - PEP-8 - check both EAGAIN/EWOULDBLOCK - use system implementation of GreenPipe.readinto()
* tests: deprecated TestCase.assert_() -> assert keywordSergey Shepelev2014-07-1621-230/+230
| | | | https://github.com/eventlet/eventlet/issues/101
* db_pool: customizable connection cleanup function; Thanks to Avery FaySergey Shepelev2014-07-102-85/+165
| | | | | | | | | https://github.com/eventlet/eventlet/pull/64 Also: - PEP8 - except Exception - .put() must not catch SystemExit
* Bump version to 0.16.0.devSergey Shepelev2014-07-031-2/+2
|
* 0.15 releasev0.15Sergey Shepelev2014-07-034-3/+19
|
* PyPy 2.3 compatibility fixDmitriy Kruglyak2014-06-121-2/+2
| | | | | | In PyPy 2.3 socket.socket has no _sock property which causes eventlet failures. https://github.com/eventlet/eventlet/pull/97
* PEP8 whitespaceSergey Shepelev2014-06-124-8/+29
|
* python3 compatibilitySergey Shepelev2014-04-2428-477/+564
| | | | | | | | | | | | - __next__ for iterator interface - six.next() to get next item - list(dict.keys()) - popen2.popen4 -> subprocess - s2b -> b"..." literals - deprecated assertEquals -> assertEqual - hub_test test_fork using run_python - 1L -> 1 long literal - many PEP-8 fixes
* PEP-8 check all files, once in separate environment, parallel in TravisSergey Shepelev2014-04-242-43/+52
| | | | Tox: PYTHONDONTWRITEBYTECODE = 1
* Python3: __bool__, im_code, im_funcVictor Sergeyev2014-04-247-8/+29
|
* python3 compatibilitySergey Shepelev2014-04-2311-109/+131
| | | | | | | - dict.items().pop() in proc - str/bytes in backdoor, api_test, ssl_test, test__refcount - import httplib from six - PEP-8 fixes
* PEP-8 fixes, tox runs pep8 checkSergey Shepelev2014-04-2315-135/+197
| | | | | 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.
* python3 compatibility: print functionSergey Shepelev2014-04-2320-132/+141
|
* python3 compatibility: range, zip, StringIOViktors2014-04-237-38/+32
|
* wsgi: capitalize_response_headers optionSergey Shepelev2014-04-222-89/+146
| | | | | | | Setting this to False provides compatibility with broken clients which expect response header names in particular case, such as ETag by AWS Java SDK. https://github.com/eventlet/eventlet/issues/80
* pypy compatibilityJakub Stasiak2014-04-1513-31/+77
|
* travis: Build with PyPy; Upgrade dependencies; Install libzmq-devJakub Stasiak2014-04-152-3/+22
|
* green: subprocess: do not use `new` module for compatibility with Python3Viktors2014-04-151-7/+7
| | | | | | | 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
* greenthread: add .unlink() method; Thanks to Astrum Kuo郭旭星Astrum Kuo2014-04-151-0/+13
| | | | | Compatibility with gevent. https://github.com/eventlet/eventlet/pull/82
* python3 compat fixes; Thanks to Astrum Kuo郭旭星Astrum Kuo2014-04-025-8/+12
| | | | | | https://github.com/eventlet/eventlet/pull/82 Celery could work with eventlet in Python3 now
* travis: Build with Python 3.3Jakub Stasiak2014-03-282-3/+43
|
* python3 compat fixesVictor Sergeyev2014-03-2835-279/+327
| | | | https://github.com/eventlet/eventlet/pull/59
* support: bundle six 1.5.2Sergey Shepelev2014-03-281-0/+634
| | | | | https://bitbucket.org/gutworth/six http://pythonhosted.org/six/
* queue: Make join not wait if there are no unfinished tasksJakub Stasiak2014-03-272-1/+6
| | | | This fixes GitHub issue #54
* green.profile: accumulate results between runs; Thanks to Zhang HuaSergey Shepelev2014-03-242-9/+17
| | | | https://bitbucket.org/eventlet/eventlet/issue/162/eventletgreenprofile-can-not-accumulate
* tox: Refactor configurationJakub Stasiak2014-01-281-18/+1
|
* tox: Bump MySQL-Python versionJakub Stasiak2014-01-281-1/+1
|
* websockets: Test and handle lack of Upgrade headerJakub Stasiak2014-01-242-1/+16
|
* websockets: handle HTTP_CONNECTION more flexiblyJakub Stasiak2014-01-182-15/+21
| | | | This fixes GitHub issue #73
* websockets: Add websockets13 supportEdward George2014-01-012-34/+627
|
* packaging: Generate universal wheelsJakub Stasiak2013-12-311-0/+2
|
* python3 compat: `raise E(arg)` syntaxSergey Shepelev2013-12-032-2/+2
| | | | .with_traceback() is not backward compatible, so left to on-demand 2to3 run
* python3 compat: remove lots of Python 2.5 and earlier dependent code; use ↵Sergey Shepelev2013-12-0323-569/+440
| | | | print() function syntax
* python3 compat: print() function syntaxSergey Shepelev2013-12-0348-221/+289
|
* python3 compat: 2to3: `except E as e:` syntaxDavanum Srinivas2013-12-0340-104/+104
| | | | | | | First step to Python 3 compatibility "2to3 -w -f except ." See [1] [1] http://docs.python.org/2/library/2to3.html#fixers
* coros: remove Actor which was deprecated in 2010-01Sergey Shepelev2013-12-032-222/+0
|
* saranwrap: remove saranwrap which was deprecated in 2010-02Sergey Shepelev2013-12-032-1102/+0
|
* doc: recommend install via pipOmer Katz2013-11-061-7/+7
|
* tpool: proxy __enter__, __exit__ fixes BB-158; Thanks to Eric UrbanSergey Shepelev2013-10-022-9/+26
| | | | https://bitbucket.org/eventlet/eventlet/issue/158/eventlet-pooled-psycopg2-connections-wont
* Bump version to 0.15.0.devSergey Shepelev2013-09-131-1/+1
|
* 0.14 release (branding)v0.14Sergey Shepelev2013-09-134-4/+18
|
* websocket: allow "websocket" in lowercase in Upgrade header (Google Chrome ↵Dmitry Orlov2013-09-131-1/+1
| | | | sends so)
* wsgi: Allow minimum_chunk_size to be overriden on a per request basisDavid Goetz2013-09-052-2/+66
| | | | | | | | The application can set environ['eventlet.minimum_write_chunk_size'] which will override the minimum_chunk_size set on server initialization for a single request. https://bitbucket.org/eventlet/eventlet/pull-request/37/allow-minimum_chunk_size-to-be-overriden
* Rename README{,.rst} for Github render; Thanks to Thomas Grainger and Tobias ↵Sergey Shepelev2013-09-053-2/+2
| | | | | | Megies; Fixes GH-47 https://github.com/eventlet/eventlet/issues/47