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;