[SP-pm] Threads em Perl
Guilherme Luis Eberhardt
guilherme.eberhardt at gmail.com
Tue Feb 3 08:54:25 PST 2009
Pessoal, boa tarde!
Estou desenvolvendo um servidor e cliente em Perl para comunicação via
socket.
Para agilizar o processo estou utilizando thread no servidor.
Meu sistema operacional é: HP-UX B.11.23 U ia64
Perl: 5.8.9
Meu problema é que para cada requisição que faço do cliente para o servidor,
a quantidade de uso de páginas aumenta mesmo quando a thread terminou sua
execução.
(Ou seja, o consumo de memória do servidor aumenta)
Não sei se está ficando algum lixo de memória.
O estranho é que o mesmo código sem thread o consumo de memória do servidor
fica sempre igual.
O comando que estou utilizando para monitorar o consumo de memória é:
kmeminfo -u
Antes eu utiliza a função de thread detach agora estou usando o join.
Alguém pode me ajudar?
Obrigado.
Segue o código que estou usando para o servidor:
use threads;
use IO::Socket;
use Getopt::Long;
&GetOptions( "servidor:s" => \$pServidor,
"porta:s" => \$pPorta,
"comando:s" => \$pComando,
"log:s" => \$pLog,
);
$sock = new IO::Socket::INET ( LocalAddr => "$pServidor",
LocalPort =>
"$pPorta",
Proto =>
'tcp',
Listen => 5,
Reuse => 0)
or die ("problem binding to socket.");
while ($client = $sock->accept()) {
$client->autoflush(1);
$sockthread = threads->new(\&serviceClient,$client,$cipher);
$sockthread->join;
undef $client;
undef $sockthread;
}
############################################################################
####
sub serviceClient {
$cliente = $_[0];
$msg = <$cliente>;
$msg=~s/\\\{n\}/\n/g;
$w1 = `$pComando $msg`;
print $client "$w";
$client->shutdown(2);
undef $_[0];
undef $cliente;
undef $msg;
undef $w1;
return;
}
############################################################################
####
Guilherme Luis Eberhardt
P Antes de imprimir, pense em sua responsabilidade ambiental !
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20090203/d70eed0e/attachment.html>
More information about the SaoPaulo-pm
mailing list