summaryrefslogtreecommitdiffstats
path: root/os-plugins/OpenSLX/OSPlugin/Engine.pm
diff options
context:
space:
mode:
authorOliver Tappe2008-09-13 00:00:46 +0200
committerOliver Tappe2008-09-13 00:00:46 +0200
commiteca5f2e81a7c859bfbd378b5f5cd7c7b5d4ba0b0 (patch)
tree555152e7baf8f0cc79dfb1f679af99737c183b5a /os-plugins/OpenSLX/OSPlugin/Engine.pm
parentadder version 3.71 of pxelinux-stuff (diff)
downloadcore-eca5f2e81a7c859bfbd378b5f5cd7c7b5d4ba0b0.tar.gz
core-eca5f2e81a7c859bfbd378b5f5cd7c7b5d4ba0b0.tar.xz
core-eca5f2e81a7c859bfbd378b5f5cd7c7b5d4ba0b0.zip
* implemented support for recursive file-based locks
* used improved locking mechanism to protect not only slxconfig-demuxer against being executed twice, but also to avoid two different process groups from chrooting into the same vendor-OS git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2213 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'os-plugins/OpenSLX/OSPlugin/Engine.pm')
-rw-r--r--os-plugins/OpenSLX/OSPlugin/Engine.pm6
1 files changed, 5 insertions, 1 deletions
diff --git a/os-plugins/OpenSLX/OSPlugin/Engine.pm b/os-plugins/OpenSLX/OSPlugin/Engine.pm
index 5488b4ac..c5e6a99f 100644
--- a/os-plugins/OpenSLX/OSPlugin/Engine.pm
+++ b/os-plugins/OpenSLX/OSPlugin/Engine.pm
@@ -627,6 +627,10 @@ sub _callChrootedFunctionForPlugin
my $self = shift;
my $function = shift;
+ # create os-setup engine here in order to block access to the vendor-OS
+ # via other processes (which could cause problems)
+ my $osSetupEngine = $self->_osSetupEngine();
+
# bind-mount openslx basepath to /mnt/openslx of vendor-OS:
my $basePath = $openslxConfig{'base-path'};
my $basePathInChroot = "$self->{'vendor-os-path'}/mnt/opt/openslx";
@@ -667,7 +671,7 @@ sub _callChrootedFunctionForPlugin
});
# now let plugin install itself into vendor-OS
- $self->_osSetupEngine()->callChrootedFunctionForVendorOS($function);
+ $osSetupEngine->callChrootedFunctionForVendorOS($function);
return;
}