- $stk->finish;
- my $attr='';
- if ($type eq 'isbn') {
- $attr='1=7';
- } elsif ($type eq 'title') {
- $attr='1=4';
- } elsif ($type eq 'author') {
- $attr='1=1003';
- } elsif ($type eq 'lccn') {
- $attr='1=9';
- } elsif ($type eq 'keyword') {
- $attr='1=1016';
- }
- $term='"'.$term.'"';
- $query="\@attr $attr $term";
- my $totalrecords=0;
- my $serverinfo;
- my $stillprocessing=0;
- foreach $serverinfo (split(/\s+/, $servers)) {
- (next) if ($serverdone{$serverinfo} == 1);
- my $stillprocessing=1;
- if (my $pid=fork()) {
- $forkcounter++;
- } else {
- #$sth->finish;
- #$sti->finish;
- #$dbh->disconnect;
- my $dbi=C4Connect;
- my ($name, $server, $database, $user, $password) = split(/\//, $serverinfo, 5);
- $server=~/(.*)\:(\d+)/;
- my $servername=$1;
- my $port=$2;
- print "Processing $type=$term at $name $server $database (".($forkcounter+1)." forks)\n";
- $now=time();
- my $q_serverinfo=$dbi->quote($serverinfo);
- my $resultsid;
- if ($serverdone{$serverinfo}==-1) {
- my $stj=$dbi->prepare("select id from z3950results where server=$q_serverinfo and queryid=$id");
- $stj->execute;
- ($resultsid) = $stj->fetchrow;
+ $stk->finish;
+ my $attr='';
+ if ($type eq 'isbn') {
+ $attr='1=7';
+ } elsif ($type eq 'title') {
+ $attr='1=4';
+ } elsif ($type eq 'author') {
+ $attr='1=1003';
+ } elsif ($type eq 'lccn') {
+ $attr='1=9';
+ } elsif ($type eq 'keyword') {
+ $attr='1=1016';
+ }
+ $term='"'.$term.'"';
+ $query="\@attr $attr $term";
+ my $totalrecords=0;
+ my $serverinfo;
+ my $stillprocessing=0;
+ foreach $serverinfo (split(/\s+/, $servers)) {
+ (next) if ($serverdone{$serverinfo} == 1);
+ my $stillprocessing=1;
+ if (my $pid=fork()) {
+ $forkcounter++;