- 05 Apr, 2016 4 commits
-
-
Jason Madden authored
Move 3rd party libraries to deps/ directory. Move gevent and greentest to src/ directory. This fixes tox. At this point the builds should all work the same. Lets check.
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
This makes the builds faster due to smaller .c output to merge. Plus all the improvements in Cython itself. *NOTE* Not taking advantage of the new @property supporty yet, in case there are any changes to the .ppyx file we need to backport to 1.1.
-
- 04 Apr, 2016 4 commits
-
-
Jason Madden authored
-
Jason Madden authored
Move cdef and source from Python strings to .c files that can be parsed and validated by a real C compiler.
-
Jason Madden authored
reorganize changelog entries for 1.2a1 to group related entries. it was getting hard to follow. [skip ci]
-
Jason Madden authored
-
- 02 Apr, 2016 3 commits
-
-
Jason Madden authored
Actually it wasn't quite as dire as described there. Instead, there were just extra copies of each chunk of data the application yielded. This commit removes the copies, sending the data directly to the socket. This should be most noticeable on larger chunks. Also re-organize the call to close() the app iter closer to where the app iter gets assigned, making it easier to spot. Add a test for this---turns out the validator was closing the iterator for us!
-
Jason Madden authored
-
Jason Madden authored
-
- 01 Apr, 2016 4 commits
-
-
Jason Madden authored
I found one genuine cycle in callback functions. The rest I can't find any legit leak, so for now I'm disabling that part of the test on the TPE.
-
Jason Madden authored
-
Jason Madden authored
It now works as expected when both patched and not patched. It is cooperative with greenlets in both cases. Test this.
-
Jason Madden authored
-
- 31 Mar, 2016 1 commit
-
-
Jason Madden authored
This can be helpful when threading is patched. Ref #786.
-
- 29 Mar, 2016 8 commits
-
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
I can't reproduce with Python 2.7 locally, and the error makes no sense (because we're writing the banner to a *brand bloody new* file, guaranteed not to exist). So this is a shot in the dark. See https://ci.appveyor.com/project/denik/gevent/build/1.0.568/job/p44icqoi91a72e08. Failed to rename 'c:\users\appveyor\appdata\local\temp\1\tmp_j5icn\gevent\corecext.pyx.tmp.2832' to 'c:\users\appveyor\appdata\local\temp\1\tmp_j5icn\gevent\corecext.pyx Exception in thread Thread-1: Traceback (most recent call last): File "C:\Python27\lib\threading.py", line 801, in __bootstrap_inner self.run() File "util\cythonpp.py", line 31, in run self.value = target(*args) File "util\cythonpp.py", line 432, in _run_cython_on_file atomic_write(unique_pyx_filename, py_banner + value) File "util\cythonpp.py", line 902, in atomic_write os.rename(tmpname, filename) WindowsError: [Error 32] The process cannot access the file because it is being used by another process
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
This permits some more optimizations and speeds up the build another 20% or so, in addition to being hopefully easier to follow.
-
- 28 Mar, 2016 4 commits
-
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
- 27 Mar, 2016 3 commits
-
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
On my machine, this cuts the build time by a fourth to a third. Not ready to merge, submitting for testing on CI (esp Windows). Cython calls are threaded because they release the GIL. The most expensive part was merging results, which holds the GIL, so use multiprocessing for that. Pre-combine the identical results that we expect to get for two sets of defines to reduce the number of merges. Change internal data structures to be immutable to make debugging this easier (and substantially faster when pickling through multiprocessing.)
-
- 25 Mar, 2016 2 commits
-
-
Jason Madden authored
-
Jason Madden authored
Don't subclass dict for environ by default, but leave that option available. When printing, make sure that we have a secure environ. Unfortunately, this is relatively fragile but it's the only way to not break WebOb/Pyramid.
-
- 24 Mar, 2016 1 commit
-
-
Jason Madden authored
Right now, this is only used for suppressing the printing of potentially sensitive information, but in the future there could be other uses. This is technically not compliant with PEP3333 which specifies that the type(environ) must be dict, but it's not clear if that practically matters anymore (it looks like it might be a holdover from supporting Python 1.5.2 before one could subclass the builtin dict; see https://mail.python.org/pipermail/web-sig/2003-December/000394.html). Fixes #779.
-
- 23 Mar, 2016 6 commits
-
-
Jason Madden authored
-
Jason Madden authored
test__socket_close specifies AF_INET sockets so make sure and use an AF_INET address in the server. This affects only Windows.
-
Jason Madden authored
-
Jason Madden authored
- Additional testing on a mix of ip4 and ip6 connections. - Simplify address parsing. - changelog. Fixes #495.
-
Felix Kaiser authored
That'll make the socket work both with IPv4 and IPv6.
-
Jason Madden authored
-