🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #52287

obiekty + fastcgi - destruktor nie działa?

#52287
From: Mateusz Szczyrzyca
Date: Tue, 27 Sep 2011 14:07
56 lines
2710 bytes
Witam serdecznie,

Mam małą aplikację z użyciem FCGI. Powiedzmy, że użyję przykładu Pralni.

Mam w niej powiedzmy Pralka.pm (obiekt)

W tym obiekcie mam różne funkcje (pranie(), plukanie(), itp), w tym jedna 
metoda (np: programator()), która bada zmienną przesłaną do obiektu Pralka z 
poziomu pętli FCGI i dopiero odpalająca odpowiednie funkcje.

O ile wewnątrz obiektu Pralka użyję jakieś inne obiekty
(np: Pompa.pm, Suszarka.pm) to z nimi jest wszystko ok. Natomiast problem 
jest z Pralką, dezaktywuję ją w głównej pętli FCGI ,,książkowo'' czyli 
za pomocą `undef` jak widać na poglądowym kodzie:

#v+
my $request = FCGI::Request( );
while( $request->Accept( ) >= 0 ) 
{
 [ tutaj różne takie ]


 switch( $url )
 {
  case( /wstepne/ )
  {
   $Pralka = Pralka-new( \%Pranie );
   $html1 = $Pralka->programator( 'silnik' );
   $html2 = $Pralka->programator( 'pompa' );
   $html3 = $Pralka->programator( 'pranie_wstepne' );
   $Pralka = undef;
  }
 }

 [ $html[1-3] później użyte do umieszczenia w kodzie HTML ]

}
#v-

Jednakże destruktor Pralki się w ogóle nie zgłasza. Normalnie bym to 
zignorował, ale powstał z tego tytułu pewien problem... otóż każda 
funkcja z obiektu Pralka mi się 2x wykonuje, każda. Sprawdzałem, 
program, bazę danych, i to niestety prawda...
 
Oczywiście sprawdziłem i żadna z funkcji nie jest zapętlona, żadnych tam 
rekurencji i w ogóle nie powinno to 2x więcej wody i prądu zużywać. :-)
Oczywiście próbowałem $Pralka = undef, undef $Pralka, ale Pralka wydaje 
się być nieśmiertelna.

Nie wiem... może coś przeoczyłem, ale proszę o drobną wskazówkę co 
jest powodem nieśmiertelności tej pralki u mnie... a tym samym dwukrotnego 
odpalania się wywoływanych metod... chyba, że to cecha FCGI i permamentnego
uruchomienia?

Dzięki z góry,
Pozdrawiam
Technical Details
Message-ID: <slrnj83m52.spb.mateusz@jabber.abstynenci.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail
From: Mateusz Szczyrzyca <mateusz@abstynenci.pl>
Newsgroups: pl.comp.lang.perl
Subject: obiekty + fastcgi - destruktor nie działa?
Date: Tue, 27 Sep 2011 14:07:30 +0000 (UTC)
Organization: http://onet.pl
Lines: 57
Message-ID: <slrnj83m52.spb.mateusz@jabber.abstynenci.pl>
Reply-To: Mateusz Szczyrzyca <mateusz@abstynenci.pl>
NNTP-Posting-Host: ip-85-198-234-216.broker.com.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1317132450 4110 85.198.234.216 (27 Sep 2011 14:07:30 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Tue, 27 Sep 2011 14:07:30 +0000 (UTC)
User-Agent: slrn/0.9.9p1 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit