Re: question about forked processes writing to the same file



it_says_BALLS_on_your forehead wrote:
is this dangerous? for instance, is there ever a danger of race
conditions/locking/etc if i have:

use strict; use warnings;
use Parallel::ForkManager;

my $pm = Parallel::ForkManager->new(10);

# assume @files contains 100 files that will be processed,
# and processing time could range from subseconds to hours

my $out = 'results.txt';
for my $file (@files) {
  $pm->start and next;

  # some code to process file
  # blah blah blah

  open( my $fh_out, '>>', $out ) or die "can't open $out: $!\n";
  print $fh_out "$file\n";
  close $fh_out;

  $pm->finish;
}
$pm->wait_all_children;

As long as you don't care about the order in which the output from respective file is appended to $out, I can't see what the problem would be.


--
Gunnar Hjalmarsson
Email: http://www.gunnar.cc/cgi-bin/contact.pl
.



Relevant Pages