use Fcntl qw(:flock);
+our $DEBUG_FH = \*STDERR if not defined $DEBUG_FH;
+
=head1 UTILITIES
The following functions are exported by the C<:util> tag
return undef if defined $location and
($location ne 'db' and $location ne 'db-h');
}
- return undef if not defined $location;
my $dir = getlocationpath($location);
return undef if not defined $dir;
- if ($location eq 'db') {
+ if (defined $location and $location eq 'db') {
return "$dir/$bugnum.$ext";
} else {
my $hash = get_hashname($bugnum);
sub appendfile {
my $file = shift;
if (!open(AP,">>$file")) {
- print DEBUG "failed open log<\n";
- print DEBUG "failed open log err $!<\n";
+ print $DEBUG_FH "failed open log<\n" if $DEBUG;
+ print $DEBUG_FH "failed open log err $!<\n" if $DEBUG;
&quit("opening $file (appendfile): $!");
}
print(AP @_) || &quit("writing $file (appendfile): $!");
$count= 10; $errors= '';
for (;;) {
my $fh = eval {
- my $fh = new IO::File $lockfile,'w'
+ my $fh2 = IO::File->new($lockfile,'w')
or die "Unable to open $lockfile for writing: $!";
- flock($fh,LOCK_EX|LOCK_NB)
+ flock($fh2,LOCK_EX|LOCK_NB)
or die "Unable to lock $lockfile $!";
- return $fh;
+ return $fh2;
};
if ($@) {
$errors .= $@;
=cut
sub quit {
- print DEBUG "quitting >$_[0]<\n";
+ print $DEBUG_FH "quitting >$_[0]<\n" if $DEBUG;
my ($u);
while ($u= $cleanups[$#cleanups]) { &$u; }
die "*** $_[0]\n";