summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Python 3 compat; Improve WSGI, WS, threading and testspython3-cleanJakub Stasiak2014-11-047-159/+138
| | | | | | | | | | | | | | | | | | | | | This includes: * patching more tests to pass * removing few unit tests which I think are redundant * repeating SSL socket reads in a loop to read all data (I suspect this is related to the fact that writelines is used in the server code there and Python 3 writelines calls write/send repeatedly while on Python 2 it calls it once; on one hand there's no guarantee that single recv/read will return all data sent by the server, on the other hand it's quite suspicious that the number of required reads seems to be connected to the number of sends on the other side of the connection) * working through Python 2/Python 3 threading and thread differences; the lock code I used is the simplest way I could make the tests pass but will likely need to be modified in order to match the original This commit includes 6bcb1dc3686f72b0f1af803b46883ce4f5e4b8df and closes GH #153
* Improve documentationJakub Stasiak2014-10-313-0/+19
| | | | | | | | | This patch: * exposes eventlet.greenthread.kill function so Sphinx generates its documentation and fixes broken links to :func:`kill` * adds warning about wsgi.server waiting for active connections to finish before returning
* Improve Python 3 compat: WSGI testsJakub Stasiak2014-10-311-2/+2
|
* hubs: drop Twisted supportSergey Shepelev2014-10-2923-1555/+22
|
* Update a broken link in the exampleKevin2014-10-221-1/+1
|
* Fix "maximum recursion depth exceeded in GreenSocket.__del__"Jakub Stasiak2014-10-162-2/+28
| | | | | Closes #137 Closes #148
* Remove dead codeJakub Stasiak2014-10-161-5/+0
|
* Refactor capturing stderr into a context managerJakub Stasiak2014-10-153-20/+22
|
* Actually also give credit hereJakub Stasiak2014-10-131-1/+1
|
* Give credits for the patchJakub Stasiak2014-10-131-0/+1
|
* Python 3 compat: Improve subprocess, WSGI and testsJakub Stasiak2014-10-135-47/+44
|
* Allow more gracefull shutdown of wsgi serverStuart McLaren2014-10-131-1/+5
| | | | | | | | | | Currently, if the listening socket is closed the wsgi.server will go into an infinite loop. Add an 'is_accepting' flag which can be set to False to tell the server to exit. This allows, for example, a signal handler to initiate a gracefull shutdown (complete existing requests then exit).
* Clean upJakub Stasiak2014-10-111-3/+1
|
* Python 3 compat: Improve SSL and WSGI compatJakub Stasiak2014-10-114-20/+30
|
* Python 3 compat: Fix precedence bugraylu2014-10-111-1/+1
|
* Reformat with autopep8Jakub Stasiak2014-10-1134-136/+212
|
* Fix SSL socket wrapping and Python 2.7.9 compatibilityJakub Stasiak2014-10-111-2/+5
| | | | This is connected to GH #135 and BitBucket #165
* Python 3 compat: Improve various bitsJakub Stasiak2014-10-1016-243/+312
| | | | | | | | | | | | | | | | | | 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
* Add Python 3.4 build optionsJakub Stasiak2014-10-102-0/+25
|
* Remove most of the deprecated codeJakub Stasiak2014-10-1022-3000/+66
| | | | Closes GH #144
* Tune documentationJakub Stasiak2014-10-053-7/+12
|
* doc: gitignore; ./build-website.bash --no-commitSergey Shepelev2014-09-282-24/+38
|
* Adding changelog to the websiteDeva2014-09-272-0/+2
|
* green.socket: create_connection: UnboundLocalError on Python3gh-123-local-msgSergey Shepelev2014-09-052-1/+10
| | | | Fixes https://github.com/eventlet/eventlet/issues/123
* Bump version to 0.16.0.devSergey Shepelev2014-09-051-1/+1
|
* NEWS: forgot to mention 100-continue headersv0.15.2Sergey Shepelev2014-09-011-0/+1
|
* v0.15.2 releaseSergey Shepelev2014-09-014-2/+8
|
* greenio: manual memory leak testSergey Shepelev2014-09-012-0/+83
| | | | https://github.com/eventlet/eventlet/pull/125
* wsgi: pep8 fixesTushar Gohad2014-08-272-62/+87
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* greenio: When we mark a socket as closed we still need to be able to close itMichael Kerrin2014-08-281-19/+1
| | | | | | | | | | | | | 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.
* PEP-8 fixesSergey Shepelev2014-08-27127-729/+993
|
* wsgi: Add "100 Continue" response documentationTushar Gohad2014-08-261-0/+41
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* wsgi: Support optional headers w/ "100 Continue" responsesTushar Gohad2014-08-242-10/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since WSGI is all about a single response to a single request, in order for servers to process a PUT as a single HTTP request and at the same time pass **hints** back to the client (for example, a payload type that the server can accept, or to inform the client that the server expects to receive payload metadata at the end of the payload transfer, etc), "100 Continue" response headers is pretty much only place to add these hints. This is consistent with **RFC2616, section 10.1**: 10.1 Informational 1xx This class of status code indicates a provisional response, consisting only of the **Status-Line** and **optional headers**, and is terminated by an empty line. Openstack Swift has an immediate use case for this feature where the object server will use an "Accept-Payload-Footer: 1" like header to hint the proxy server to send a payload footer after it has finished transmitting the payload (for sending metadata for an erasure coded or encrypted payload, enforcing end-to-end Etag checks, etc). Addresses eventlet issue/enhancement #126 Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Fix octal literalSimon Jagoe2014-08-191-2/+2
|
* Bump version to 0.16.0.devSergey Shepelev2014-08-151-1/+1
|
* 0.15.1 releasev0.15.1Sergey Shepelev2014-08-154-2/+8
|
* 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