github gevent/gevent v1.1a2
1.1a2

latest releases: 24.2.1, 23.9.1, 23.9.0.post1...
pre-release8 years ago
  • gevent.threadpool.ThreadPool.imap and imap_unordered now
    accept multiple iterables.
  • (Experimental) Exceptions raised from iterating using the
    ThreadPool or Group mapping/application functions should now
    have the original traceback.
  • gevent.threadpool.ThreadPool.apply now raises any exception
    raised by the called function, the same as
    gevent.pool.Group/Pool and the builtin apply function.
    This obsoletes the undocumented apply_e function. Original PR
    #556 by Robert Estelle.
  • Monkey-patch the selectors module from patch_all and
    patch_select on Python 3.4. See #591 .
  • Additional query functions for the :mod:gevent.monkey module
    allow knowing what was patched. Discussed in :issue:135 and
    implemented in :pr:325 by Nathan Hoad.
  • In non-monkey-patched environments under Python 2.7.9 or above or
    Python 3, using a gevent SSL socket could cause the greenlet to
    block. See :issue:597 by David Ford.
  • gevent.socket.socket.sendall supports arbitrary objects that
    implement the buffer protocol (such as ctypes structures), just like
    native sockets. Reported in :issue:466 by tzickel.
  • Added support for the onerror attribute present in CFFI 1.2.0
    for better signal handling under PyPy. Thanks to Armin Rigo and Omer
    Katz. (See https://bitbucket.org/cffi/cffi/issue/152/handling-errors-from-signal-handlers-in)
  • The gevent.subprocess module is closer in behaviour to the
    standard library under Python 3, at least on POSIX. The
    pass_fds, restore_signals, and start_new_session
    arguments are now unimplemented, as are the timeout parameters
    to various functions. Under Python 2, the previously undocumented timeout
    parameter to Popen.communicate raises an exception like its
    Python 3 counterpart.
  • An exception starting a child process with the gevent.subprocess
    module no longer leaks file descriptors. Reported in :pr:374 by 陈小玉.
  • The example echoserver.py no longer binds to the standard X11
    TCP port. Reported in :issue:485 by minusf.
  • gevent.iwait no longer throws LoopExit if the caller
    switches greenlets between return values. Reported and initial patch
    in :pr:467 by Alexey Borzenkov.
  • The default threadpool and default threaded resolver work in a
    forked child process, such as with multiprocessing.Process.
    Previously the child process would hang indefinitely. Reported in
    :issue:230 by Lx Yu.
  • Fork watchers are more likely to (eventually) get called in a
    multi-threaded program.
  • gevent.killall accepts an arbitrary iterable for the greenlets
    to kill. Reported in :issue:404 by Martin Bachwerk; seen in
    combination with older versions of simple-requests.
  • gevent.local.local objects are now eligible for garbage
    collection as soon as the greenlet finishes running, matching the
    behaviour of the built-in threading.local (when implemented
    natively). Reported in :issue:387 by AusIV.
  • Killing a greenlet (with gevent.kill or
    gevent.greenlet.Greenlet.kill) before it is actually started and
    switched to now prevents the greenlet from ever running, instead of
    raising an exception when it is later switched to. See :issue:330
    reported by Jonathan Kamens.

Don't miss a new gevent release

NewReleases is sending notifications on new releases.