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;