NAME Child::Socket - Child with socket support. DESCRIPTION Lets you create a Child object, disconnect from it, and reconnect later in the same or different process. REQUIREMENT NOTE Requires UNIX socket support. SYNOPSIS BASIC use Child::Socket; # Build with IPC my $child = Child::Socket->new(sub { my $self = shift; $self->say("message1"); my $reply = $self->read(); }, socket => 1 ); my $message1 = $child1->read(); $child->say("reply"); CONSTRUCTOR $class->new( sub { ... } ) $class->new( sub { ... }, pipe => 1 ) $class->new( sub { ... }, socket => 1 ) $class->new( sub { ... }, socket => $file ) Create a new Child object. Does not start the child. $class->existing( $socket_filename ) Create a new instance that connects to an existing child. OBJECT METHODS Inherits everything from Child. $child->connect( $timeout ) In parent process this will attempt to connect to the child unless already connected. Throws an exception if the socket file does not exist after the timeout expires. Once connected, the child PID will be returned. In the child process this will accept an incomming connection. This will return undef if no incomming connection occurs before the timeout expires. NOTE: Only one connection can be maintained at a time. Will return undef if already connected. $child->disconnect() Disconnects if connected. $child->socket_file() Get the socket file name. $child->is_socket() Check if this is a socket connection. $child->is_pipe() Check if this is a pipe connection. AUTHORS Chad Granum exodist7@gmail.com COPYRIGHT Copyright (C) 2010 Chad Granum Child-Socket is free software; Standard perl licence. Child-Socket is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.