# OPEN THE LOCK FILE my $LCK = "$lock_path/dblock.lockfile"; sysopen(DBLOCK, $LCK, O_RDONLY | O_CREAT) or die divert("Couldn't open $LCK (lock_database_for_writing): $!"); # ATTEMPT TO LOCK THE LOCK FILE eval { local $SIG{ALRM} = sub { die "TIMEDOUT" }; alarm(30); flock(DBLOCK, LOCK_EX) or die divert("Couldn't LOCK_EX $LCK (lock_database_for_writing): $!"); alarm(0); }; if ($@) { if( $@ =~ /TIMEDOUT/ ) { divert("Connection too busy. Error: $!"); } } #### 24-05-2005 10:33:05 -> xxx.xxx.xxx.xxx Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FunWebProducts; SV1; .NET CLR 1.1.4322) p=&bandID=&search_phrase= (26197) exec 16.3432 WARNING 24-05-2005 10:33:56 -> xxx.xxx.xxx.xxx, p=artist_list (26299) exec 7.8034 WARNING 24-05-2005 10:34:42 -> xxx.xxx.xxx.xxx, p=artist_list&style=7 (26384) exec 8.0844 WARNING 24-05-2005 10:35:30 -> xxx.xxx.xxx.xxx, p=artist&bandID=109&style=7&l= (26460) exec 8.2451 WARNING 24-05-2005 10:36:17 -> xxx.xxx.xxx.xxx, p=artist&bandID=109&imageID=1&searchID=&content= (26524) exec 5.0702 WARNING 24-05-2005 10:36:36 -> xxx.xxx.xxx.xxx, p=artist&bandID=109&style=7&l=&content=repertoire&searchID= (26547) exec 4.4575 WARNING 24-05-2005 10:37:18 -> xxx.xxx.xxx.xxx, p=artist&bandID=109&style=7&l=&content=lineup&searchID= (26612) exec 3.4035 WARNING 24-05-2005 10:37:40 -> xxx.xxx.xxx.xxx, p=artist&bandID=109&imageID=1&searchID=&content=lineup (26640) exec 3.3868 WARNING 24-05-2005 10:37:54 -> xxx.xxx.xxx.xxx, p=book&bandID=109&searchID= (26657) exec 0.0929