summaryrefslogtreecommitdiffstats
path: root/installer/OpenSLX/OSExport/BlockDevice/Base.pm
diff options
context:
space:
mode:
authorOliver Tappe2009-06-09 20:05:47 +0200
committerOliver Tappe2009-06-09 20:05:47 +0200
commit4a683e74a6afd9896df3c32b9d9d334e4599f7d3 (patch)
tree1513b6f3aac3d803f22022401cc470d97d45d796 /installer/OpenSLX/OSExport/BlockDevice/Base.pm
parent* fixed pretty stupid bug that involved mixed use of bufferd/non-buffered IO (diff)
downloadcore-4a683e74a6afd9896df3c32b9d9d334e4599f7d3.tar.gz
core-4a683e74a6afd9896df3c32b9d9d334e4599f7d3.tar.xz
core-4a683e74a6afd9896df3c32b9d9d334e4599f7d3.zip
* fixed a whole lot of circular references which I found when researching #451
* some minor cleanups along the way git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2944 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'installer/OpenSLX/OSExport/BlockDevice/Base.pm')
-rw-r--r--installer/OpenSLX/OSExport/BlockDevice/Base.pm13
1 files changed, 13 insertions, 0 deletions
diff --git a/installer/OpenSLX/OSExport/BlockDevice/Base.pm b/installer/OpenSLX/OSExport/BlockDevice/Base.pm
index d2395e30..6469c2f4 100644
--- a/installer/OpenSLX/OSExport/BlockDevice/Base.pm
+++ b/installer/OpenSLX/OSExport/BlockDevice/Base.pm
@@ -18,6 +18,8 @@ use warnings;
our $VERSION = 1.01; # API-version . implementation-version
+use Scalar::Util qw( weaken );
+
use OpenSLX::Basics;
################################################################################
@@ -30,6 +32,17 @@ sub new
sub initialize
{
+ my $self = shift;
+ my $engine = shift;
+ my $fs = shift;
+
+ $self->{'engine'} = $engine;
+ weaken($self->{'engine'});
+ # avoid circular reference between block-device and its engine
+
+ $self->{'fs'} = $fs;
+ weaken($self->{'fs'});
+ # avoid circular reference between block-device and its file-system
}
sub getExportPort