X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=lib%2FZOOM%2FIRSpy%2FTask%2FSearch.pm;h=73c84976c04aa1e43f4bd2b7140bb166217508f6;hb=a9264efe4efe3c63cbeda1b481e98a5a149c9f1c;hp=6c81e01e8a9478a622f5bcdc8bddfb343b651dfe;hpb=7249718226f5673f66d70044122215f673ada875;p=irspy-moved-to-github.git diff --git a/lib/ZOOM/IRSpy/Task/Search.pm b/lib/ZOOM/IRSpy/Task/Search.pm index 6c81e01..73c8497 100644 --- a/lib/ZOOM/IRSpy/Task/Search.pm +++ b/lib/ZOOM/IRSpy/Task/Search.pm @@ -1,4 +1,3 @@ -# $Id: Search.pm,v 1.15 2007-05-01 16:30:42 mike Exp $ package ZOOM::IRSpy::Task::Search; @@ -49,7 +48,10 @@ sub run { my $qstr = $this->{qstr}; $this->irspy()->log("irspy_task", $conn->option("host"), " searching for '$qtype:$qstr'"); - die "task $this has resultset?!" if defined $this->{rs}; + if (defined $this->{rs}) { + $this->set_options(); + die "task $this has resultset?!"; + } my $query; if ($qtype eq "pqf") { @@ -57,6 +59,7 @@ sub run { } elsif ($qtype eq "cql") { $query = new ZOOM::Query::CQL($qstr); } else { + $this->set_options(); die "Huh?!"; } @@ -66,7 +69,13 @@ sub run { # APPLICATION'S RESPONSIBILITY to ensure that the callback # invoked on success OR FAILURE makes arrangements for the set # to be destroyed. - $this->{rs} = $conn->search($query); + eval { + $this->{rs} = $conn->search($query); + }; if ($@) { + $this->set_options(); + die "remote search '$query' had error: '$@'"; + } + warn "no ZOOM-C level events queued by $this" if $conn->is_idle();