+make(1) locking by flock(1)
authorshort <>
Mon, 13 Oct 2003 13:43:26 +0000 (13:43 +0000)
committershort <>
Mon, 13 Oct 2003 13:43:26 +0000 (13:43 +0000)
Web.pm

diff --git a/Web.pm b/Web.pm
index d99e54f..2a93ce1 100644 (file)
--- a/Web.pm
+++ b/Web.pm
@@ -413,6 +413,13 @@ my($url,$contents,%args)=@_;
        return $contents;
 }
 
+sub make ($)
+{
+my($cmd)=@_;
+
+       system {'flock'} 'flock','-x',top_dir_disk(),$cmd.' >&2';
+}
+
 sub img_size ($$)
 {
 my($width,$height)=@_;
@@ -460,8 +467,8 @@ my($file_base)=@_;
        for my $var (@img_variants) {
                my $file=$file_base_disk.".".$var->{"id"};
                # TODO: Somehow quickly check dependencies?
-               system 'make >&2 -s --no-print-directory'
-                                               .' -C '."'".File::Basename::dirname($file)."' '".File::Basename::basename($file)."'"
+               make('make -s --no-print-directory'
+                                               .' -C '."'".File::Basename::dirname($file)."' '".File::Basename::basename($file)."'")
                                if !-f $file;
                push @nego_variants,negotiate_variant(
                                %$var,