On Wed, 2006-08-02 at 10:25 -0700, Matthew Dillon wrote:
>     Please try this patch and tell me if it works.  I think we have an issue
>     when one process holds an exclusive lock while 2 or more processes are
>     trying to get a shared lock, or vise-versa.
> 
>                                               -Matt
> 
> Index: kern_lockf.c
> ===================================================================
> RCS file: /cvs/src/sys/kern/kern_lockf.c,v
> retrieving revision 1.32
> diff -u -r1.32 kern_lockf.c
> --- kern_lockf.c      25 Jul 2006 20:01:50 -0000      1.32
> +++ kern_lockf.c      2 Aug 2006 17:23:56 -0000
> @@ -772,8 +772,10 @@
>               TAILQ_REMOVE(&lock->lf_blocked, range, lf_link);
>               range->lf_flags = 1;
>               wakeup(range);
> +#if 0
>               if (range->lf_start >= start && range->lf_end <= end)
>                       break;
> +#endif
>       }
>  }
>  

I have applied the patch (and recompiled) and am letting the system run
full steam right now (including the milter, etc); the initial results
look promising as it has not exhibited the aberrant behavior as of yet.
I will post a followup after letting this run all night (assuming it
does so) or after it fails (which hopefully won't happen).

Sven

Reply via email to