X-Git-Url: http://git.indexdata.com/?p=irspy-moved-to-github.git;a=blobdiff_plain;f=lib%2FZOOM%2FIRSpy%2FTask.pm;h=e83552ef1e5a3a91979b7be40e59dbf22b00f92e;hp=0cbce823e7075e45f7c52cba4cc4fab8703f33c8;hb=00450608fbb1abc4bd5e75d269ff0c87f87b9b48;hpb=34a3b0fc493b303df7fb588b1e3d6f0597d2a5bb diff --git a/lib/ZOOM/IRSpy/Task.pm b/lib/ZOOM/IRSpy/Task.pm index 0cbce82..e83552e 100644 --- a/lib/ZOOM/IRSpy/Task.pm +++ b/lib/ZOOM/IRSpy/Task.pm @@ -1,4 +1,3 @@ -# $Id: Task.pm,v 1.6 2007-05-09 11:30:53 mike Exp $ package ZOOM::IRSpy::Task; @@ -6,6 +5,8 @@ use 5.008; use strict; use warnings; +use Scalar::Util; + =head1 NAME ZOOM::IRSpy::Task - base class for tasks in IRSpy @@ -34,7 +35,7 @@ sub new { my $class = shift(); my($conn, $udata, $options, %cb) = @_; - return bless { + my $this = bless { irspy => $conn->{irspy}, conn => $conn, udata => $udata, @@ -42,6 +43,11 @@ sub new { cb => \%cb, timeRegistered => time(), }, $class; + + #Scalar::Util::weaken($this->{irspy}); + #Scalar::Util::weaken($this->{udata}); + + return $this; } @@ -74,9 +80,9 @@ sub run { # # As a special case, options in the task's option-hash whose names # begin with an asterisk are taken to be persistent: they are set into -# the Connection (with the leading hash removed) and deleted from the -# task's option-hash so that they will NOT be reset the next time this -# function is called. +# the Connection (with the leading asterisk removed) and deleted from +# the task's option-hash so that they will NOT be reset the next time +# this function is called. # sub set_options { my $this = shift(); @@ -89,7 +95,6 @@ sub set_options { defined $value ? "'$value'" : "undefined"); my $old = $this->conn()->option($key, $value); if ($persistent) { - print "deleting '*$key'
\n"; delete $this->{options}->{"*$key"} } else { $this->{options}->{$key} = $old;