X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FThingy.pm;fp=perl%2FThingy.pm;h=522e4b136d0c7ea80ff55f8c31c2e3d4f5fb3acc;hb=6c06ed486e67b3e36e9af4794d2eb84f59f249c4;hp=ed33fde027491b84b041187d6e464aedcfc8771c;hpb=87b2f58b1b0df6c0cb5c5f0070db554ec2d2a961;p=spider.git diff --git a/perl/Thingy.pm b/perl/Thingy.pm index ed33fde0..522e4b13 100644 --- a/perl/Thingy.pm +++ b/perl/Thingy.pm @@ -96,11 +96,21 @@ sub queue push @queue, $thing; } +# # this is the main commutator loop. In due course it will -# become the *only* commutator loop +# become the *only* commutator loop, This can be called in one +# of two ways: either with 2 args or with none. +# +# The two arg form is an immediate "queue and handle" and does +# a full cycle, immediately +# sub process { my $thing; + if (@_ == 2) { + $thing = shift; + $thing->queue(shift); + } while (@queue) { $thing = shift @queue; my $dxchan = DXChannel->get($thing->{dxchan});