[SP-pm] destruir um objeto e die

Frederico Recsky frederico at gmail.com
Mon Dec 15 06:14:59 PST 2008


Olá,

Tenho um modulo que monta e desmonta unidades de disco conforme o necessario.

Para montar eu depois de criar um objeto e rodo uma função que checa o
status do mount e etc.  Para desmontar eu coloquei no DESTROY, assim
que eu não preciso mais da montagem ou quando saio do programa ele
desmonta a unidade.

O que acontece é que se outro trecho do programa usa die, croak ou
etc, e o DESTROY do modulo de montagem consegue desmontar as coisas,
ele sai com erro 0.  É obvio que eu não queria isso. Abaixo vai uma
versão simplificada do que eu estou falando.

Package Mount;

use strict;
use warnings;

sub new {
	
	my $class = shift;
	my $self = {};
	bless($self,$class);	

	$self->{SOURCE} = shift;
	$self->{DEST} = shift;	
	
	$self->{RET} = _mount($self);
	
	return $self;

}

sub _mount {

         my $self = shift;
         my $cmd = qx/ mount $self->{SOURCE} $self->{DEST}/;

}

sub DESTROY {

        my $self = shift;

        my $cmd = qx / umount $self->{DEST} /;

}

Mesmo assim é importante limpar as montagens feitas se ocorrer um die,
aceito sugestões.

[]'s


-- 
____________________________
Frederico Recsky
Linux User: #253572
http://www.fred.eti.br
http://www.perl.org.br


More information about the SaoPaulo-pm mailing list