- 18 Oct, 2018 1 commit
-
-
Jason Madden authored
Fixes #1287 Share the link protocol between Semaphore/Event/AsyncResult. There's some ickiness here with Cython, this might be better refactored to use composition?
-
- 16 Oct, 2018 11 commits
-
-
Jason Madden authored
-
Josh Snyder authored
-
Josh Snyder authored
-
Josh Snyder authored
-
Jason Madden authored
-
Jason Madden authored
And stop the warnings about missing language_level.
-
Jason Madden authored
-
Josh Snyder authored
New test, which fails without the previous commit: ERROR: test_wait_noiter (__main__.TestWaiting) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/vagrant/gevent/src/greentest/greentest/leakcheck.py", line 200, in wrapper return _RefCountChecker(self, method)(args, kwargs) File "/home/vagrant/gevent/src/greentest/greentest/leakcheck.py", line 184, in __call__ self._run_test(args, kwargs) File "/home/vagrant/gevent/src/greentest/greentest/leakcheck.py", line 109, in _run_test self.function(self.testcase, *args, **kwargs) File "/home/vagrant/gevent/src/greentest/greentest/errorhandler.py", line 48, in wrapper return method(self, *args, **kwargs) File "/home/vagrant/gevent/src/greentest/greentest/errorhandler.py", line 35, in wrapper return method(self, *args, **kwargs) File "/home/vagrant/gevent/src/greentest/greentest/testcase.py", line 63, in wrapper return method(self, *args, **kwargs) File "src/greentest/test__wait.py", line 12, in test_wait_noiter ready = next(gevent.iwait((sem1, sem2))) File "src/gevent/_hub_primitives.py", line 149, in gevent.__hub_primitives._WaitIterator.__next__ raise File "src/gevent/_hub_primitives.py", line 140, in gevent.__hub_primitives._WaitIterator.__next__ item = self._waiter.get() File "src/gevent/_waiter.py", line 192, in gevent.__waiter.MultipleWaiter.get Waiter.get(self) File "src/gevent/_waiter.py", line 151, in gevent.__waiter.Waiter.get return self.hub.switch() File "src/gevent/_greenlet_primitives.py", line 59, in gevent.__greenlet_primitives.SwitchOutGreenletWithLoop.switch def switch(self): File "src/gevent/_greenlet_primitives.py", line 59, in gevent.__greenlet_primitives.SwitchOutGreenletWithLoop.switch def switch(self): File "src/gevent/_greenlet_primitives.py", line 63, in gevent.__greenlet_primitives.SwitchOutGreenletWithLoop.switch return _greenlet_switch(self) # pylint:disable=undefined-variable File "src/gevent/__greenlet_primitives.pxd", line 35, in gevent.__greenlet_primitives._greenlet_switch return PyGreenlet_Switch(self, NULL, NULL) LoopExit: This operation would block forever Hub: <QuietHub '' at 0x7fc8fce60520 epoll default pending=0 ref=0 fileno=3 thread_ident=0x7fc8fffbe700> Handles: []
-
Josh Snyder authored
For scenarios where they only want to get the first greenlet which exits, a user might write this code: next(gevent.iwait(greenlets)) Without this commit, the above snippet will hang, because the waited-upon objects have not been `rawlink()`ed. This change makes such bugs impossible.
-
Jason Madden authored
-
Jason Madden authored
Add Greenlet.add_spawn_callback() and Greenlet.remove_spawn_callback()
-
- 15 Oct, 2018 6 commits
-
-
Yury Selivanov authored
-
Yury Selivanov authored
-
Yury Selivanov authored
(not in spawn() and spawn_later())
-
Yury Selivanov authored
-
Yury Selivanov authored
-
Yury Selivanov authored
These methods allow to set up code to intercept Greenlet objects creation. This is useful to implement custom tracing of gevent tasks and custom variants of `gevent.local()`. The performance impact is minuscule: one extra fast "if" check in `Greenlet.__init__`.
-
- 12 Oct, 2018 5 commits
-
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
Fix #1282 by patching libuv
-
- 11 Oct, 2018 6 commits
-
-
Jason Madden authored
-
Jason Madden authored
It might be possible to do this at binary loading time with some clever intradiction, or at build time but this is simplest. [skip travis]
-
Jason Madden authored
Stop marking test__fileobject.py as allowed to fail. That's hiding the true failure I just introduced in the prior commit---which only seems to affect Python 2.7 [skip travis]
-
Jason Madden authored
-
Jason Madden authored
Update to libuv 1.23.2
-
Jason Madden authored
-
- 10 Oct, 2018 2 commits
-
-
Jason Madden authored
Fix a typo in .travis.yml [skip ci]
-
Felix Yan authored
-
- 13 Sep, 2018 3 commits
-
-
Jason Madden authored
fixed negative length in pywsgi's Input read functions for non chunked body
-
Jason Madden authored
-
tzickel authored
-
- 08 Sep, 2018 2 commits
-
-
Jason Madden authored
Do not print locals that have no values. Fixes #1275.
-
Jason Madden authored
-
- 17 Aug, 2018 2 commits
-
-
Jason Madden authored
-
Jason Madden authored
-
- 06 Aug, 2018 2 commits
-
-
Jason Madden authored
Don't double-descriptor @staticmethod objects. Fixes #1266
-
Jason Madden authored
-