The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Child::Socket - Socket based IPC plugin for Child

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

use Child qw/child/;

# Build with Socket IPC
my $proc = child {
    my $parent = shift;
    $parent->say("message1");
    my $reply = $parent->read();
} socket => 1;

my $message1 = $proc->read();
$proc->say("reply");

DISCONNECTING AND RECONNECTING

sript1.pl:

#!/usr/bin/perl;
use Child qw/child/;

$proc = child {
    my $parent = shift;

    # detach will remove the child from the parents process group.
    $parent->detach;

    $parent->disconnect;

    # $parent->connect accepts a client connection
    # argument is timeout in seconds
    $parent->connect(10);

    $parent->say( "Hi" );
} socket => '/tmp/my-socket';

$proc->disconnect;

script2.pl:

#!/usr/bin/perl;
use Child qw/proc_connect/;

my $proc = proc_connect( '/tmp/my-socket' );

my $msg = $proc->read; # "Hi\n"

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.