sub run { my $request_file_name = shift;#named pipe to which the Messenging daemon will #listen for messenger spawn requests. if (!defined($request_file_name)){ croak "can not run without something to listen to!\n"; } mkfifo($request_file_name,0777)||croak "could not open named pipe : $!"; my %children = (); my $pid; open my $fh,'<',$request_file_name; while(1){ my $params = fd_retrieve($fh); my $messenger = $class->new($params); $pid = fork(); if (!$pid){ $children{$pid} = 1; } else{ $messenger->relay; } } }