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 |
# |
# |
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); |
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 |
|
|
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 |
|
|