diff options
Diffstat (limited to 'lib/LangFile.pm')
-rw-r--r-- | lib/LangFile.pm | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/LangFile.pm b/lib/LangFile.pm index 3c5ab1e2..e81f7f7a 100644 --- a/lib/LangFile.pm +++ b/lib/LangFile.pm @@ -2,10 +2,16 @@ package LangFile; +use strict; +use warnings; +use Fcntl qw(LOCK_SH LOCK_EX SEEK_SET); + sub new { my($class, $action, $file) = @_; open my $F, $action eq 'read' ? '<:utf8' : '>:utf8', $file or die "Opening $file: $!"; + flock($F, $action eq 'read' ? LOCK_SH : LOCK_EX) or die "Locking $file: $!"; + seek($F, 0, SEEK_SET) or die "Seeking $file: $!"; return bless { act => $action, FH => $F, |