23 lines
385 B
Perl
23 lines
385 B
Perl
|
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;
|