Coro::Select.3pm

Langue: en

Autres versions - même langue

Version: 2007-10-05 (mandriva - 01/05/08)

Section: 3 (Bibliothèques de fonctions)

NAME

Coro::Select - a (slow but coro-aware) replacement for CORE::select

SYNOPSIS

  use Coro::Select;          # replace select globally
  use Core::Select 'select'; # only in this module
  use Coro::Select ();       # use Coro::Select::select
 
 

DESCRIPTION

This module tries to create a fully working replacement for perl's "select" built-in, using "AnyEvent" watchers to do the job, so other coroutines can run in parallel to any select user. As many libraries that only have a blocking API do not use global variables and often use select (or IO::Select), this effectively makes most such libraries ``somewhat'' non-blocking w.r.t. other coroutines.

To be effective globally, this module must be "use"'d before any other module that uses "select", so it should generally be the first module "use"'d in the main program.

You can also invoke it from the commandline as "perl -MCoro::Select".

Performance naturally isn't great, but unless you need very high select performance you normally won't notice the difference.

SEE ALSO

Coro::LWP.

AUTHOR

  Marc Lehmann <schmorp@schmorp.de>
  http://home.schmorp.de/