rest patch add lock protection for download repodata using multi-threads
authorJun Wang <junbill.wang@samsung.com>
Sat, 21 May 2016 00:55:16 +0000 (08:55 +0800)
committerSoonKyu Park <sk7.park@samsung.com>
Wed, 15 Jun 2016 05:23:01 +0000 (14:23 +0900)
Change-Id: Iec790e275c22165108a1564131f7c74e91e29acb

createrepomddeps

index 631f31e..1e9f624 100755 (executable)
@@ -88,16 +88,7 @@ for my $url (@ARGV) {
     $dir = "$cachedir/$repoid/";
     $baseurl .= '/' unless $baseurl =~ /\/$/;
     mkpath("${dir}repodata");
-    my $lock_file = $dir . 'repodata/down_repomd.lock';
-    open(my $lfh, '>>', $lock_file) or die "Could not open '$lock_file' - $!";
-    flock($lfh, LOCK_EX);
-    if (!-f "${dir}repodata/repomd.xml") {
-      if (system($INC[0].'/download', "${dir}repodata", "${baseurl}repodata/repomd.xml")) {
-        close($lfh) or die "Could not write '$lock_file' - $!";
-        die("get metadata failed\n");
-      }
-    }
-    close($lfh) or die "Could not write '$lock_file' - $!";
+    system($INC[0].'/download', "${dir}repodata", "${baseurl}repodata/repomd.xml");
   } else {
     $dir = $url;
   }
@@ -121,9 +112,6 @@ for my $url (@ARGV) {
       utf8::downgrade($u);
     }
     my $cached;
-    my $lock_file = $dir . "repodata/down_primary.lock";
-    open(my $lfh, '>>', $lock_file) or die "Could not open '$lock_file' - $!";
-    flock($lfh, LOCK_EX);
     if (-e $u) {
       $cached = 1;
       $cached = 0 if exists($f->{'size'}) && $f->{'size'} != (-s _);
@@ -139,7 +127,6 @@ for my $url (@ARGV) {
        die("inconsistent repodata in $url\n");
       }
     }
-    close($lfh) or die "Could not write '$lock_file' - $!";
 
     my $fh;
     open($fh, '<', $u) or die "Error opening $u: $!\n";