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
