xcat-core/xCAT-rmc/lib/perl/TEAL/Semaphore.pm

23 lines
385 B
Perl
Raw Normal View History

package TEAL::Semaphore;
use strict;
use warnings;
require IPC::SysV;
sub new {
my $class = shift;
my $self = {};
my $key = IPC::SysV::ftok("/var/log/teal",0x646c6100);
$self->{ID} = semget($key,1,0);
bless $self,$class;
return $self;
}
sub post {
my $self = shift;
my $op = pack("s!3",0,1,0);
semop $self->{ID},$op || die "failed to post"
}
1;