yangtse: curl-www/auto summarize.pl,1.61,1.62
[email protected] Thu, 05 Nov 2009 16:47:24 +0000
| Newsgroups | gmane.comp.web.curl.www.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/curl/curl-www/auto
In directory giant.haxx.se:/var/tmp/cvs-serv22444/auto
Modified Files:
summarize.pl
Log Message:
Prevent summarize.pl to start when another instance is already running
Index: summarize.pl
===================================================================
RCS file: /cvsroot/curl/curl-www/auto/summarize.pl,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -d -r1.61 -r1.62
--- summarize.pl 5 Oct 2009 02:13:02 -0000 1.61
+++ summarize.pl 5 Nov 2009 16:47:22 -0000 1.62
@@ -1,9 +1,21 @@
#!/usr/bin/env perl
+use Fcntl ':flock';
+
require "CGI.pm";
require "../curl.pm";
require "ccwarn.pm";
+my $SUMMARIZESEMAPHOREFH;
+my $summarize_semaphore = './inbox/summarize_pl.sem';
+
+open($SUMMARIZESEMAPHOREFH, ">$summarize_semaphore")
+ or die("can't open $summarize_semaphore: $!");
+if(!flock($SUMMARIZESEMAPHOREFH, LOCK_EX|LOCK_NB)) {
+ close($SUMMARIZESEMAPHOREFH);
+ die("Another instance of summarize.pl already running");
+}
+
opendir(DIR, "inbox");
my @logs = grep { /^inbox.*log$/ } readdir(DIR);
closedir(DIR);
@@ -178,6 +190,7 @@
}
+close($SUMMARIZESEMAPHOREFH);
exit;
my $warning=0;