Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
AnyEvent::Impl::EventLUser)Contributed Perl DocumenAnyEvent::Impl::EventLib(3)

       AnyEvent::Impl::EventLib	- AnyEvent adaptor for Event::Lib

	  use AnyEvent;
	  use Event::Lib;

	  # this module	gets loaded automatically as required

       This module provides transparent	support	for AnyEvent. You don't	have
       to do anything to make Event work with AnyEvent except by loading
       Event::Lib before creating the first AnyEvent watcher.

       Note: the AnyEvent author has not found recent releases of Event::Lib
       to be even remotely working (not	even the examples from the manpage or
       the testsuite work), so this event backend should be avoided (or
       somebody	should step up and maintain it,	hint, hint).

       The Event::Lib module suffers from the same limitations and bugs	as
       libevent, most notably it kills already-installed watchers on a file
       descriptor and it is unable to support fork. These are not fatal
       issues, and are worked-around by	this module, but the Event::Lib	perl
       module itself has many additional bugs such as taking references	to
       file handles and	callbacks instead of making a copy or freeing still-
       allocated scalars, causing memory corruption and	random crashes.	Only
       Tk rivals it in its brokenness.

       This adaptor module employs the same workaround around the watcher
       problems	as Tk and should therefore be avoided. (This was done for
       simplicity, one could in	theory work around the problems	with lower
       overhead	by managing our	own watchers).

       Event::Lib also leaks file handles and memory and tends to just exit on

       It also doesn't work around the Windows bug of not signalling TCP
       connection failures.

       It also doesn't work with many special devices on Linux (/dev/random
       works, /dev/urandom fails, /dev/tty works, /dev/null fails and so on).

       Event::Lib does not support idle	watchers. They could be	emulated using
       low-priority timers but as the priority range (and availability)	is not
       queryable nor guaranteed, and the default priority is likely the	lowest
       one, this module	cannot use them.

       Avoid Event::Lib	if you can.

       AnyEvent, Event::Lib.

	Marc Lehmann <>

perl v5.32.1			  2012-04-08	   AnyEvent::Impl::EventLib(3)


Want to link to this manual page? Use this URL:

home | help