[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re: [ic] Runtime error: Could not lock file: Interrupted system call


At 02:35 PM 3/31/2003 -0500, you wrote:
> >Try down upgrade from perl 5.8 to 5.61. Its perl's problem
on
> >solaris.
> >
> >
> Or try the patch I placed about two weeks ago to this list.
It is not a
> solaris problem, it is
> a general incompatibility between perl 5.8.0 and interchange.
>
> Frederic

Oh.. which patch? mind posting it again? I can't seem to find
the 2003 mailling lists archive.

Hi,

Here is a variation on Frederic's patch that I made based on some comments about this problem in the interchange-core list. It puts a limit on the number of flock attempts to prevent an infinite loop.

--- Util.orig.pm        2003-03-17 16:23:06.000000000 -0500
+++ Util.pm     2003-03-17 16:33:33.000000000 -0500
@@ -1413,7 +1413,12 @@
     my $flag = $excl ? $flock_LOCK_EX : $flock_LOCK_SH;

     if ($wait) {
-        flock($fh, $flag) or die "Could not lock file: $!\n";
+       my $failedcount = 0;
+       while(!flock($fh, $flag) && $failedcount < 30) {
+               $failedcount++;
+               sleep 1;
+       }
+       die "Could not lock file after 30 tries: $!\n" if ($failedcount == 30);
         return 1;
     }
     else {

I've been using this version for a couple of weeks on our development server and have yet to see it actually hit 30 failures.

Thanks much to Frederic for his investigate and initial patch.


Randy Moore
Axion Information Technologies, Inc.

email     suppressed
phone   301-408-1200
fax        301-445-3947

_______________________________________________
interchange-users mailing list
suppressed
http://www.icdevgroup.org/mailman/listinfo/interchange-users


Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.