our $perl_path;
sub find_perl_path {
use Config;
if ($^X =~ m|^/|) {
$perl_path = $^X;
}
elsif ($config{PERL_PATH}) {
$perl_path = $config{PERL_PATH};
}
else {
$perl_path = $Config{perlpath};
$perl_path =~ s|/[^/]*$|/$^X|;
}
}
sub start_indexd {
my $indexd_port = int (20000 + rand(10000));
$indexd_uri = "dq://127.0.0.1:${indexd_port}";
find_perl_path();
if (($indexd_pid = fork) == 0) {
print "running: $perl_path ../dq-indexd --port $indexd_port\n";
exec ("$perl_path ../dq-indexd --port $indexd_port");
die;
} else {
sleep 1;
print "started indexd $indexd_pid at $indexd_uri\n";
}
}
sub stop_indexd {
# use POSIX ":sys_wait_h";
# need to set this explicitly, otherwise t/15_enq_indexd.t screws up
$SIG{CHLD} = 'DEFAULT';
ok kill (15, $indexd_pid);
print "stopped indexd $indexd_pid at $indexd_uri\n";
$kid = waitpid($indexd_pid, 0);
ok ($kid == $indexd_pid) or warn "kid=$kid ipid=$indexd_pid ex=$! q=$?";
ok (($? >> 8) == 0);
}
1;
syntax highlighted by Code2HTML, v. 0.9.1