1package Child::Link; 2use strict; 3use warnings; 4 5use Child::Util; 6use Carp qw/croak/; 7 8add_accessors qw/pid/; 9 10sub ipc { undef } 11 12sub _no_ipc { croak "Child was created without IPC support" } 13 14sub new { 15 my $class = shift; 16 my ( $pid ) = @_; 17 return bless( { _pid => $pid }, $class ); 18} 19 20{ 21 no strict 'refs'; 22 *{__PACKAGE__ . '::' . $_} = \&_no_ipc 23 for qw/autoflush flush read say write/; 24} 25 261; 27 28=head1 NAME 29 30Child::Link - Base class for objects that link child and parent processes. 31 32=head1 HISTORY 33 34Most of this was part of L<Parrallel::Runner> intended for use in the L<Fennec> 35project. Fennec is being broken into multiple parts, this is one such part. 36 37=head1 FENNEC PROJECT 38 39This module is part of the Fennec project. See L<Fennec> for more details. 40Fennec is a project to develop an extendable and powerful testing framework. 41Together the tools that make up the Fennec framework provide a potent testing 42environment. 43 44The tools provided by Fennec are also useful on their own. Sometimes a tool 45created for Fennec is useful outside the greator framework. Such tools are 46turned into their own projects. This is one such project. 47 48=over 2 49 50=item L<Fennec> - The core framework 51 52The primary Fennec project that ties them all together. 53 54=back 55 56=head1 AUTHORS 57 58Chad Granum L<exodist7@gmail.com> 59 60=head1 COPYRIGHT 61 62Copyright (C) 2010 Chad Granum 63 64Child is free software; Standard perl licence. 65 66Child is distributed in the hope that it will be useful, but WITHOUT 67ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 68FOR A PARTICULAR PURPOSE. See the license for more details. 69