Subject: | DBIAgent wont stop when the method finish() is called |
Hello,
When all the thing are done, i try to terminate the session nicely by
calling finish() on the DBIAgent. But it won't stop.
Manage to correct the problem in DBIAgent::Queue. Think a return is
missing in function "remove_by_wheelid"
Original:
sub remove_by_wheelid {
my( $self, $wheel_id ) = @_;
$self->_remove_by( sub { $_[0]->ID == $wheel_id } );
}
Version which terminate now:
sub remove_by_wheelid {
my( $self, $wheel_id ) = @_;
return($self->_remove_by( sub { $_[0]->ID == $wheel_id } ));
}
The return value is needed here :
=item make_next
Force the helper with the specified wheel id to the head of the queue.
=cut
sub make_next {
my $self = shift;
my $id = shift;
my $ret = $self->remove_by_wheelid( $id );
$self->_queue_unshift( $ret );
}
Hope it helps
And by the way thanks for the work :)
Cdlt
Fabrice