gevent 1.0b2 is available

403 views
Skip to first unread message

Denis Bilenko

unread,
Apr 11, 2012, 9:30:47 AM4/11/12
to gev...@googlegroups.com
New beta release of gevent is available at http://code.google.com/p/gevent/downloads/list

Major and backward-incompatible changes:

- Made the threadpool-based resolver the default. To enable the ares-based resolver, set GEVENT_RESOLVER=ares env var.
- Added support for child watchers (not available on Windows).
  - Libev loop now reaps all children by default.
  - If NOCHILD flag is passed to the loop, child watchers and child reaping are disabled.
- Renamed gevent.coros to gevent.lock. The gevent.coros is still available but deprecated.
- Added 'stat' watchers to loop.
- The setup.py now recognizes gevent_embed env var. When set to "no", bundled c-ares and libev are ignored.
- Added optional 'ref' argument to sleep(). When ref=false, the watchers created by sleep() do not hold gevent.run() from exiting.
- ThreadPool now calls Hub.handle_error for exceptions in worker threads.
- ThreadPool got new method: apply_e.
- Added new extension module gevent._util and moved gevent.core.set_exc_info function there.
- Added new extension module gevent._semaphore. It contains Semaphore class which is imported by gevent.lock as gevent.lock.Semaphore. Providing Semaphore in extension module ensures that trace function set with settrace will not be called during __exit__. Thanks to Ralf Schmitt.
- It is now possible to kill or pre-spawn threads in ThreadPool by setting its 'size' property.

Full changelog: https://bitbucket.org/denis/gevent/src/tip/changelog.rst#cl-7

Ralf Schmitt

unread,
Apr 12, 2012, 5:36:46 PM4/12/12
to gev...@googlegroups.com
Denis Bilenko <denis....@gmail.com> writes:

> - The setup.py now recognizes gevent_embed env var. When set to "no",
> bundled c-ares and libev are ignored.

I just noticed that the code still uses include_dirs=["libev"]. So, at
the moment people should delete the libev and/or c-ares directories in
order to not embed them. I'll fix that now.

--
Cheers
Ralf

Adam LeVasseur-Arribas

unread,
Apr 12, 2012, 9:40:49 PM4/12/12
to gevent: coroutine-based Python network library
What's the rationale behind choosing threadpool-based resolver as
default?

On Apr 11, 9:30 am, Denis Bilenko <denis.bile...@gmail.com> wrote:
> New beta release of gevent is available athttp://code.google.com/p/gevent/downloads/list

Denis Bilenko

unread,
Apr 21, 2012, 11:20:39 AM4/21/12
to gev...@googlegroups.com
On Fri, Apr 13, 2012 at 5:40 AM, Adam LeVasseur-Arribas
<adam....@gmail.com> wrote:
> What's the rationale behind choosing threadpool-based resolver as
> default?

Well, while c-ares-based resolver works fine for me on a Linux
machine, it seems that it sometimes produces surprising results for
others. I believe on Windows the situation with c-ares resolver is
even worse.

Thus it occurred to me that the threadpool-based is probably a better
default choice. However, if I'm wrong, we can always switch it back
before the final release.
Reply all
Reply to author
Forward
0 new messages