Tweak comment.
[irspy-moved-to-github.git] / lib / ZOOM / IRSpy / Task / Search.pm
index b13903b..397dbee 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Search.pm,v 1.9 2007-03-07 11:41:01 mike Exp $
+# $Id: Search.pm,v 1.13 2007-03-14 11:56:35 mike Exp $
 
 package ZOOM::IRSpy::Task::Search;
 
@@ -39,13 +39,19 @@ sub run {
     $this->set_options();
 
     my $conn = $this->conn();
-    ### Note that adding this next line DOES NOT HELP at the moment --
-    #   perhaps because of a ZOOM-C bug?
     $conn->connect($conn->option("host"));
 
     my $query = $this->{query};
     $this->irspy()->log("irspy_task", $conn->option("host"),
                        " searching for '$query'");
+    die "task $this has resultset?!" if defined $this->{rs};
+
+    ### Note well that when this task runs, it creates a result-set
+    #  object which MUST BE DESTROYED in order to prevent large-scale
+    #  memory leakage.  So when creating a Task::Search, it is the
+    #  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_pqf($query);
     warn "no ZOOM-C level events queued by $this"
        if $conn->is_idle();