- 04 Jan, 2020 2 commits
-
-
Jason Madden authored
-
Jason Madden authored
-
- 01 Jan, 2020 4 commits
-
-
Jason Madden authored
[skip ci]
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
- 31 Dec, 2019 1 commit
-
-
Jason Madden authored
And stop a fresh greenlet from even running. Fixes #1473. Free user-provided resources as soon as the greenlet is cancelled, if it's not running.
-
- 21 Dec, 2019 1 commit
-
-
Jason Madden authored
Fix potential crashes in the FFI backends if a watcher was closed and…
-
- 20 Dec, 2019 3 commits
-
-
Jason Madden authored
Fix potential crashes in the FFI backends if a watcher was closed and stopped in the middle of a callback from the event loop and then raised an exception. This could happen if the hub's ``handle_error`` function was poorly customized, for example. Fixes #1482 Direct error handling through the loop in the unexpected-but-closed case as well.
-
Jason Madden authored
Fix threadpool in command line scripts
-
Jason Madden authored
Keep the actual greenlet objects, not just a counter. This way we can clean up after them better.
-
- 19 Dec, 2019 5 commits
-
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
Only happens on Travis. Recently, the failure has started including 'Fatal Python error: PyImport_GetModuleDict missing'.
-
Jason Madden authored
Fixes #1484. In general, fixes any use of gevent.monkey.get_original() in such a process. Be more careful about double-patching in general too. Detecting duplicate arguments to patch_all only patches things that need to be patched.
-
- 18 Dec, 2019 2 commits
-
-
Jason Madden authored
Fix an interaction between the switch interval and libuv that could introduce delays for large batches of callbacks
-
Jason Madden authored
Fix an interaction between the switch interval and libuv that could introduce delays processing large batches of callbacks. Specifically, a .3 (idle signal timer) delay as UV_RUN_ONCE would pause if there was no other active timer or IO watcher. Now, if there are still batches of callbacks to run, we explicitly use UV_RUN_NOWAIT to only poll for IO and queue callbacks without waiting at all. This gets the time for the synthetic greenlet-launching benchmarks to match libev-cffi and be close to libuv-cext. Fixes #1493
-
- 17 Dec, 2019 1 commit
-
-
Jason Madden authored
Current results: | Benchmark | gevent-libev-cext | gevent-libev-cffi | gevent-libuv-cffi | |-----------------------|-------------------|-------------------------------|---------------------------------| | gevent spawn | 12.5 us | 13.7 us: 1.10x slower (+10%) | 14.2 us: 1.14x slower (+14%) | | gevent sleep | 2.09 us | 3.16 us: 1.51x slower (+51%) | 74.4 us: 35.64x slower (+3464%) | | geventpool sleep | 3.46 us | 6.20 us: 1.79x slower (+79%) | 151 us: 43.58x slower (+4258%) | | geventraw spawn | 5.34 us | 6.54 us: 1.22x slower (+22%) | 6.38 us: 1.19x slower (+19%) | | geventraw sleep | 949 ns | 1.66 us: 1.75x slower (+75%) | 43.9 us: 46.25x slower (+4525%) | | geventpool join | 1.57 us | 3.43 us: 2.18x slower (+118%) | 88.2 us: 56.07x slower (+5507%) | | gevent spawn kwarg | 14.2 us | 12.4 us: 1.15x faster (-13%) | 14.8 us: 1.04x slower (+4%) | | geventraw spawn kwarg | 7.68 us | 8.38 us: 1.09x slower (+9%) | 8.47 us: 1.10x slower (+10%) | | none spawn kwarg | 771 ns | 738 ns: 1.04x faster (-4%) | 734 ns: 1.05x faster (-5%) | Not significant (3): geventpool spawn; none spawn; geventpool spawn kwarg Refs #1493
-
- 16 Dec, 2019 2 commits
-
-
Jason Madden authored
-
Jason Madden authored
-
- 12 Dec, 2019 1 commit
-
-
Jason Madden authored
Still needs better docs.
-
- 11 Dec, 2019 2 commits
-
-
Jason Madden authored
Improve safety for libuv async and idle watchers.
-
Jason Madden authored
Fixes #1489.
-
- 08 Dec, 2019 4 commits
-
-
Jason Madden authored
gevent.pywsgi: Support keep-alive in HTTP/1.0
-
Jason Madden authored
With tests. Supercedes #1331.
-
Jason Madden authored
Remove redundant checks for constant values.
-
Jason Madden authored
-
- 06 Dec, 2019 5 commits
-
-
Jason Madden authored
Make Semaphores fair.
-
Jason Madden authored
Preserve order of wakeups. Take steps to avoid going back to the O(n^2) old behaviour, though, much like Greenlet does. This means we auto-unlink links as we call them. Most users won't notice as that's a very low-level method, but baseserver.py was relying on the same rawlink being called every time a semaphore became ready. That was *a lot*, so this eliminates some calls.
-
-
Jason Madden authored
coveralls 1.9 is incompatible with coverage >= 5.0a5
-
Jason Madden authored
Fix #1464 and fix #1465 by making LockType sleep on failure to non-blocking acquire the lock.
-
- 05 Dec, 2019 2 commits
-
-
Jason Madden authored
Using sleep doesn't force a trip around the event loop until the switch interval elapses.
-
Jason Madden authored
-
- 04 Dec, 2019 1 commit
-
-
Jason Madden authored
More simplification and unification of the file objects
-
- 03 Dec, 2019 2 commits
-
-
Jason Madden authored
-
Jason Madden authored
Keeping control this way simplifies and unifies the implementations. - Fix a concurrency bug in FileObjectPosix that we were hiding with buffering and a RuntimeError. - Add all the error checking the stdlib does, with a few exceptions that make sense. See #1441.
-
- 02 Dec, 2019 2 commits
-
-
Jason Madden authored
-
Jason Madden authored
-