Changeset 815
- Timestamp:
- 03/03/10 22:50:58 (14 years ago)
- Location:
- LATMOS-Accounts/lib/LATMOS/Accounts
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Mail.pm
r811 r815 7 7 use base qw(LATMOS::Accounts::Bases); 8 8 use LATMOS::Accounts::Log; 9 use Fcntl qw(:flock); 9 10 10 11 our $VERSION = (q$Rev: 641 $ =~ /^Rev: (\d+) /)[0]; … … 34 35 if (open(my $handle, '<', $self->{file}{aliases})) { 35 36 $self->log(LA_DEBUG, "Reading file %s", $self->{file}{aliases}); 37 flock($handle, LOCK_EX); 36 38 while (my $line = <$handle>) { 37 39 chomp($line); … … 54 56 if (open(my $handle, '<', $self->{file}{revaliases})) { 55 57 $self->log(LA_DEBUG, "Reading file %s", $self->{file}{revaliases}); 58 flock($handle, LOCK_EX); 56 59 while (my $line = <$handle>) { 57 60 chomp($line); … … 77 80 my ($self) = @_; 78 81 79 if (open(my $handle, '>', $self->{file}{aliases})) { 82 if (open(my $handle, '>>', $self->{file}{aliases})) { 83 flock($handle, LOCK_EX); 84 truncate($handle, 0); 80 85 foreach (sort keys %{ $self->{aliases} }) { 81 86 printf $handle "%s:%s\n", $_, $self->{aliases}{$_}; … … 90 95 91 96 if (open(my $handle, '>', $self->{file}{revaliases})) { 97 flock($handle, LOCK_EX); 98 truncate($handle, 0); 92 99 foreach (sort keys %{ $self->{revaliases} }) { 93 100 printf $handle "%s:%s\n", $_, $self->{revaliases}{$_}; -
LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Unix.pm
r792 r815 7 7 use base qw(LATMOS::Accounts::Bases); 8 8 use LATMOS::Accounts::Log; 9 use Fcntl qw(:flock); 9 10 10 11 our $VERSION = (q$Rev$ =~ /^Rev: (\d+) /)[0]; … … 126 127 }; 127 128 $self->log(LA_DEBUG, "Reading file $file"); 129 flock($handle, LOCK_EX); 128 130 while (my $line = <$handle>) { 129 131 chomp($line); … … 239 241 sub _save_unix_file { 240 242 my ($self, $file, @data) = @_; 241 open(my $handle, '> ', $file) or do {243 open(my $handle, '>>', $file) or do { 242 244 la_log(LA_ERR, "Cannot open unix file `%s' for writing (%s)", $file, $!); 243 245 return; 244 246 }; 247 flock($handle, LOCK_EX); 248 truncate($handle, 0); 245 249 foreach my $line (@data) { 246 250 print $handle join(':', map { defined($_) ? $_ : '' } @$line) . "\n"; -
LATMOS-Accounts/lib/LATMOS/Accounts/Synchro.pm
r668 r815 8 8 use LATMOS::Accounts::Log; 9 9 use LATMOS::Accounts::Utils qw(exec_command); 10 use Fcntl qw(:flock); 10 11 11 12 =head1 NAME … … 143 144 } 144 145 145 use Fcntl qw(:flock);146 147 146 sub lock { 148 147 my ($self) = @_; 149 148 150 149 $self->{lock}{handle} and return 1; 150 la_log(LA_DEBUG, "Trying to lock (pid $$)"); 151 151 if ($self->{options}{state_dir}) { 152 152 my $lockfile = $self->{options}{state_dir} . '/synclock'; … … 155 155 $self->{lock}{handle} = $handle; 156 156 $self->{lock}{filename} = $lockfile; 157 la_log(LA_DEBUG, "lock done (pid $$)"); 157 158 return 1; 158 159 } else { return 1 }
Note: See TracChangeset
for help on using the changeset viewer.