summaryrefslogtreecommitdiff
path: root/fml/lib/FML/Process
diff options
context:
space:
mode:
Diffstat (limited to 'fml/lib/FML/Process')
-rw-r--r--fml/lib/FML/Process/Kernel.pm12
1 files changed, 7 insertions, 5 deletions
diff --git a/fml/lib/FML/Process/Kernel.pm b/fml/lib/FML/Process/Kernel.pm
index be525d4e..266eff2a 100644
--- a/fml/lib/FML/Process/Kernel.pm
+++ b/fml/lib/FML/Process/Kernel.pm
@@ -97,9 +97,10 @@ sub lock
return 0 unless $lock_file ;
my $r = $lockobj->lock( { file => $lock_file } );
if ($r) {
- $curproc->{ pcb }->{ lock }->{ object } = $lockobj;
- $curproc->{ pcb }->{ lock }->{ file } = $lock_file;
- Log( "locked $lock_file");
+ my $pcb = $curproc->{ pcb };
+ $pcb->set('lock', 'object', $lockobj);
+ $pcb->set('lock', 'file', $lock_file);
+ Log( "locked $lock_file" );
}
else {
croak("Error: cannot lock");
@@ -111,8 +112,9 @@ sub unlock
{
my ($curproc, $args) = @_;
- my $lockobj = $curproc->{ pcb }->{ lock }->{ object };
- my $lock_file = $curproc->{ pcb }->{ lock }->{ file };
+ my $pcb = $curproc->{ pcb };
+ my $lockobj = $pcb->get('lock', 'object');
+ my $lock_file = $pcb->get('lock', 'file');
my $r = $lockobj->unlock( { file => $lock_file } );
if ($r) {