From eca5f2e81a7c859bfbd378b5f5cd7c7b5d4ba0b0 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Fri, 12 Sep 2008 22:00:46 +0000 Subject: * 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 --- os-plugins/OpenSLX/OSPlugin/Engine.pm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'os-plugins/OpenSLX/OSPlugin/Engine.pm') 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; } -- cgit v1.2.3-55-g7522