summaryrefslogtreecommitdiff
path: root/lib/LangFile.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/LangFile.pm')
-rw-r--r--lib/LangFile.pm6
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,