… | |
… | |
390 | |
390 | |
391 | AnyEvent::Impl::CoroEV based on Coro::EV, best choice. |
391 | AnyEvent::Impl::CoroEV based on Coro::EV, best choice. |
392 | AnyEvent::Impl::CoroEvent based on Coro::Event, second best choice. |
392 | AnyEvent::Impl::CoroEvent based on Coro::Event, second best choice. |
393 | AnyEvent::Impl::EV based on EV (an interface to libev, best choice). |
393 | AnyEvent::Impl::EV based on EV (an interface to libev, best choice). |
394 | AnyEvent::Impl::Event based on Event, second best choice. |
394 | AnyEvent::Impl::Event based on Event, second best choice. |
|
|
395 | AnyEvent::Impl::Perl pure-perl implementation, fast and portable. |
395 | AnyEvent::Impl::Glib based on Glib, third-best choice. |
396 | AnyEvent::Impl::Glib based on Glib, third-best choice. |
396 | AnyEvent::Impl::Perl pure-perl implementation, inefficient but portable. |
|
|
397 | AnyEvent::Impl::Tk based on Tk, very bad choice. |
397 | AnyEvent::Impl::Tk based on Tk, very bad choice. |
398 | AnyEvent::Impl::Qt based on Qt, cannot be autoprobed (see its docs). |
398 | AnyEvent::Impl::Qt based on Qt, cannot be autoprobed (see its docs). |
399 | AnyEvent::Impl::EventLib based on Event::Lib, leaks memory and worse. |
399 | AnyEvent::Impl::EventLib based on Event::Lib, leaks memory and worse. |
400 | AnyEvent::Impl::POE based on POE, not generic enough for full support. |
400 | AnyEvent::Impl::POE based on POE, not generic enough for full support. |
401 | |
401 | |
… | |
… | |
553 | my @models = ( |
553 | my @models = ( |
554 | [Coro::EV:: => AnyEvent::Impl::CoroEV::], |
554 | [Coro::EV:: => AnyEvent::Impl::CoroEV::], |
555 | [Coro::Event:: => AnyEvent::Impl::CoroEvent::], |
555 | [Coro::Event:: => AnyEvent::Impl::CoroEvent::], |
556 | [EV:: => AnyEvent::Impl::EV::], |
556 | [EV:: => AnyEvent::Impl::EV::], |
557 | [Event:: => AnyEvent::Impl::Event::], |
557 | [Event:: => AnyEvent::Impl::Event::], |
558 | [Glib:: => AnyEvent::Impl::Glib::], |
|
|
559 | [Tk:: => AnyEvent::Impl::Tk::], |
558 | [Tk:: => AnyEvent::Impl::Tk::], |
560 | [Wx:: => AnyEvent::Impl::POE::], |
559 | [Wx:: => AnyEvent::Impl::POE::], |
561 | [Prima:: => AnyEvent::Impl::POE::], |
560 | [Prima:: => AnyEvent::Impl::POE::], |
562 | [AnyEvent::Impl::Perl:: => AnyEvent::Impl::Perl::], |
561 | [AnyEvent::Impl::Perl:: => AnyEvent::Impl::Perl::], |
563 | # everything below here will not be autoprobed as the pureperl backend should work everywhere |
562 | # everything below here will not be autoprobed as the pureperl backend should work everywhere |
|
|
563 | [Glib:: => AnyEvent::Impl::Glib::], |
564 | [Event::Lib:: => AnyEvent::Impl::EventLib::], # too buggy |
564 | [Event::Lib:: => AnyEvent::Impl::EventLib::], # too buggy |
565 | [Qt:: => AnyEvent::Impl::Qt::], # requires special main program |
565 | [Qt:: => AnyEvent::Impl::Qt::], # requires special main program |
566 | [POE::Kernel:: => AnyEvent::Impl::POE::], # lasciate ogni speranza |
566 | [POE::Kernel:: => AnyEvent::Impl::POE::], # lasciate ogni speranza |
567 | ); |
567 | ); |
568 | |
568 | |
… | |
… | |
1234 | |
1234 | |
1235 | |
1235 | |
1236 | =head1 FORK |
1236 | =head1 FORK |
1237 | |
1237 | |
1238 | Most event libraries are not fork-safe. The ones who are usually are |
1238 | Most event libraries are not fork-safe. The ones who are usually are |
1239 | because they are so inefficient. Only L<EV> is fully fork-aware. |
1239 | because they rely on inefficient but fork-safe C<select> or C<poll> |
|
|
1240 | calls. Only L<EV> is fully fork-aware. |
1240 | |
1241 | |
1241 | If you have to fork, you must either do so I<before> creating your first |
1242 | If you have to fork, you must either do so I<before> creating your first |
1242 | watcher OR you must not use AnyEvent at all in the child. |
1243 | watcher OR you must not use AnyEvent at all in the child. |
1243 | |
1244 | |
1244 | |
1245 | |