Valter Douglas Lisbôa Jr. wrote:
> The code bellow functions very nice.
>
> ---------------------
> while(my ($id, $ep, $local, $tolerance, $lasterr, $hostscount) =
> $sthLocals->fetchrow_array()) {
> $self->localPolling($id, $ep, $local, $tolerance, $lasterr, $hostscount);
> }
> ---------------------
>
> But if I try to execute with a thread:
>
> ---------------------
> while(my ($id, $ep, $local, $tolerance, $lasterr, $hostscount) =
> $sthLocals->fetchrow_array()) {
> my $thr = threads->create($self->localPooling, $id, $ep, $local, $tolerance,
> $lasterr, $hostscount);
> }
> ---------------------
>
> It returns a error:
> Can't locate object method "localPooling" via package "Poller::Check"!
Try
while (my ($id, $ep, $local, $tolerance, $lasterr, $hostscount)
= $sthLocals->fetchrow_array())
{
my $thr = threads->create(sub {
$self->localPooling($id, $ep, $local, $tolerance, $lasterr,
$hostscount);
});
}