Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

io::async::detachedcode(3pm) [debian man page]

IO::Async::DetachedCode(3pm)				User Contributed Perl Documentation			      IO::Async::DetachedCode(3pm)

NAME
"IO::Async::DetachedCode" - execute code asynchronously in child processes SYNOPSIS
This object is used indirectly via the "IO::Async::Loop"'s "detach_code" method. use IO::Async::Loop; my $loop = IO::Async::Loop->new; my $code = $loop->detach_code( code => sub { my ( $number ) = @_; return is_prime( $number ); } ); $code->call( args => [ 123454321 ], on_return => sub { my $isprime = shift; print "123454321 " . ( $isprime ? "is" : "is not" ) . " a prime number "; }, on_error => sub { print STDERR "Cannot determine if it's prime - $_[0] "; }, ); $loop->run; DESCRIPTION
This object class provides a legacy compatibility layer for existing code that tries to construct such an object. It should not be used for new code; see instead the IO::Async::Function object, for which this is now a wrapper. CONSTRUCTOR
$code = $loop->detach_code( %params ) This function returns a new instance of a "IO::Async::DetachedCode" object. The %params hash takes the following keys: code => CODE A block of code to call in the child process. stream marshaller These arguments are no longer used; any values passed will be ignored. workers => INT Optional integer, specifies the number of parallel workers to create. If not supplied, 1 is used. exit_on_die => BOOL setup => ARRAY Passed through to the underlying "IO::Async::Function" object. METHODS
$code->call( %params ) Calls one invocation of the contained function code block. See the "call" method on "IO::Async::Function" for more detail. $code->shutdown This method requests that the detached worker processes stop running. $n_workers = $code->workers This method in scalar context returns the number of workers currently running. @worker_pids = $code->workers This method in list context returns a list of the PID numbers of all the currently running worker processes. AUTHOR
Paul Evans <leonerd@leonerd.org.uk> perl v5.14.2 2012-10-24 IO::Async::DetachedCode(3pm)

Check Out this Related Man Page

IO::Async::PID(3pm)					User Contributed Perl Documentation				       IO::Async::PID(3pm)

NAME
"IO::Async::PID" - event callback on exit of a child process SYNOPSIS
use IO::Async::PID; use POSIX qw( WEXITSTATUS ); use IO::Async::Loop; my $loop = IO::Async::Loop->new; my $kid = $loop->fork( code => sub { print "Child sleeping.. "; sleep 10; print "Child exiting "; return 20; }, ); print "Child process $kid started "; my $pid = IO::Async::PID->new( pid => $kid, on_exit => sub { my ( $self, $exitcode ) = @_; printf "Child process %d exited with status %d ", $self->pid, WEXITSTATUS($exitcode); }, ); $loop->add( $pid ); $loop->run; DESCRIPTION
This subclass of IO::Async::Notifier invokes its callback when a process exits. For most use cases, a IO::Async::Process object provides more control of setting up the process, connecting filehandles to it, sending data to and receiving data from it. EVENTS
The following events are invoked, either using subclass methods or CODE references in parameters: on_exit $exitcode Invoked when the watched process exits. PARAMETERS
The following named parameters may be passed to "new" or "configure": pid => INT The process ID to watch. Must be given before the object has been added to the containing "IO::Async::Loop" object. on_exit => CODE CODE reference for the "on_exit" event. Once the "on_exit" continuation has been invoked, the "IO::Async::PID" object is removed from the containing "IO::Async::Loop" object. METHODS
$process_id = $pid->pid Returns the underlying process ID $pid->kill( $signal ) Sends a signal to the process AUTHOR
Paul Evans <leonerd@leonerd.org.uk> perl v5.14.2 2012-10-24 IO::Async::PID(3pm)
Man Page