- 22 Jan, 2018 14 commits
-
-
Jason Madden authored
We should be able to use dummy functions to link the child watchers on windows, and forbid them from being created. This gets us down to only one CPP def, LIBEV_EMBED
-
Jason Madden authored
cython ignores the preprocessor directives we previously had in libev.pxd, so that was doing nothing, and it was treating vfd_socket_t just as something it had to turn into an int. The function it used to do this was the same function it used to turn a generic PyObject into an int, once all the typedefs were substituted in (which does use the c preprocessor from libev_vfd.h). So it should be functionally equivalent. The vfd_* functions are no-op macros on POSIX, so there shouldn't be a performance difference. The minor exception is that __dealloc__ is always defined, and although it's a static function suitable to inline, there is an extra Python API call to PyErr_Fetch and PyErr_Restore. But if that makes a difference, I didn't spot it.
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
Move to the safer __cinit__ for all watchers. Now that the base watcher has access to its libev ev_watcher pointer, start moving the properties there, starting with ref.
-
Jason Madden authored
-
Jason Madden authored
-
- 19 Jan, 2018 6 commits
-
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
We no longer need to gc before getting a libuv io object on PyPy: everything is deterministically closed (or should be).
-
Jason Madden authored
Debugging for a weird EPERM error in test__fileobject.py on travis with libuv; not seen locally or on appveyor [skip appveyor].
-
Jason Madden authored
-
Jason Madden authored
And must be close() when done. The IO watchers already required this for libuv; doing it for everything simplifies memory management and object lifetimes and lets us get rid of a bunch of weakref objects with callbacks. This is a new requirement and will only affect those that use CFFI (e.g., PyPy) and specifically it's needed for libuv; libev doesn't really do much with it. Some debugging help for forgetting to close objects piggybacks on tracemalloc on Python 3. test_ftplib.py fails in Python 3 because of some warnings about unclosed objects. test__backdoor.py fails in Python 2 for the same reason.
-
- 18 Jan, 2018 9 commits
-
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
[skip appveyor]
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
- 17 Jan, 2018 7 commits
-
-
Jason Madden authored
GEVENTSETUP_EV_VERIFY has to be set when gevent is compiled. Move it from the 'leaktest' target down to where we call develop
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
- 15 Jan, 2018 4 commits
-
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-
Jason Madden authored
-