P
prameela.vankineni
Hi,
Iam trying to transfer files(Io:Ftp)using threads in perl can any
one suggest me how to stop threads if i pressed cancelTransfer
button.Here iam giving part of my code.
sub get_value
{
print "Monitoring...\n";
while(1)
{
next unless (defined($list));
#sleep(2);
my $iter = $list->get_iter_first;
my $filename = $list->get($iter, 0) if defined($iter);
next unless(defined($filename));
print "File is $filename\n";
print "Splitting file...\n";
my $filenames_ref = split_file($filename);
my @filenames = @$filenames_ref;
$count = 0;
$finished = 0;
foreach (@filenames)
{
print "Transferring $_ ...\n";
transfer_file_cb($_,$count);
$count++;
}
sleep(2);
$list->remove($iter) if defined($iter);
}
}
sub transfer_file_cb
{
my $thread = new threads(\&transfer_file,\@_);
push (@threads, $thread);
}
# wait for the children to finish...
foreach (@threads)
{
$_->join;
}
Iam trying to transfer files(Io:Ftp)using threads in perl can any
one suggest me how to stop threads if i pressed cancelTransfer
button.Here iam giving part of my code.
sub get_value
{
print "Monitoring...\n";
while(1)
{
next unless (defined($list));
#sleep(2);
my $iter = $list->get_iter_first;
my $filename = $list->get($iter, 0) if defined($iter);
next unless(defined($filename));
print "File is $filename\n";
print "Splitting file...\n";
my $filenames_ref = split_file($filename);
my @filenames = @$filenames_ref;
$count = 0;
$finished = 0;
foreach (@filenames)
{
print "Transferring $_ ...\n";
transfer_file_cb($_,$count);
$count++;
}
sleep(2);
$list->remove($iter) if defined($iter);
}
}
sub transfer_file_cb
{
my $thread = new threads(\&transfer_file,\@_);
push (@threads, $thread);
}
# wait for the children to finish...
foreach (@threads)
{
$_->join;
}