/[cvs]/nfo/perl/libs/Data/Storage/Handler/Abstract.pm
ViewVC logotype

Diff of /nfo/perl/libs/Data/Storage/Handler/Abstract.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by cvsjoko, Thu Oct 10 03:44:07 2002 UTC revision 1.2 by joko, Thu Oct 17 00:08:07 2002 UTC
# Line 3  Line 3 
3  #  $Id$  #  $Id$
4  #  #
5  #  $Log$  #  $Log$
6    #  Revision 1.2  2002/10/17 00:08:07  joko
7    #  + bugfixes regarding "deep recursion" stuff
8    #
9  #  Revision 1.1  2002/10/10 03:44:07  cvsjoko  #  Revision 1.1  2002/10/10 03:44:07  cvsjoko
10  #  + new  #  + new
11  #  #
# Line 26  sub new { Line 29  sub new {
29    my $class = ref($invocant) || $invocant;    my $class = ref($invocant) || $invocant;
30        
31    # logging info about the actual handler called    # logging info about the actual handler called
     $logger->debug( __PACKAGE__ . "->" . "new()" );  
32      $logger->debug( "$invocant->new( @_ )" );      $logger->debug( "$invocant->new( @_ )" );
33        #$logger->debug( __PACKAGE__ . "->" . "new()" );
34    
35    # handle meta data    # handle meta data
36      my $metainfo = _getMetaInfo($class);      my $metainfo = _getMetaInfo($class);
# Line 56  sub AUTOLOAD { Line 59  sub AUTOLOAD {
59      # - why:  debug-messages are on a very low level including every data-operation to "Data::Storage(::Handler::X)",      # - why:  debug-messages are on a very low level including every data-operation to "Data::Storage(::Handler::X)",
60      #             so e.g. a "$storage->insert" would trigger another "$storage->insert" itself      #             so e.g. a "$storage->insert" would trigger another "$storage->insert" itself
61      #             which leads to a infinite recursion loop (deep recursion)      #             which leads to a infinite recursion loop (deep recursion)
62      # - solution: locks! (by Hack or via Perl "local"s)      # - solution: locks! (by Hack or (maybe) via Perl "local"s)
63    
64    my $self = shift;    my $self = shift;
65    
# Line 77  sub AUTOLOAD { Line 80  sub AUTOLOAD {
80        
81    # test for COREHANDLE    # test for COREHANDLE
82    if (!$self->{COREHANDLE}) {    if (!$self->{COREHANDLE}) {
83      $logger->error( __PACKAGE__ . "[$self->{metainfo}->{type}]" . ": " . "COREHANDLE is undefined while trying to execute method \"$methodname\"" );      #print "no COREHANDLE", "\n";
84        if (!$self->{lock_info}->{log_lock}) {
85          $logger->error( __PACKAGE__ . "[$self->{metainfo}->{type}]" . ": " . "COREHANDLE is undefined while trying to execute method \"$methodname\"" );
86        }
87      return;      return;
88    }    }
89    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed