| 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 |
|
|