On Wed, 2006-08-02 at 17:41 -0400, Sven Willenberger wrote:
> 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
> 

As a followup, the server has been running without a hitch now for 18
hours so it would appear that the above patch has fixed the situation,
unless some other more rare situation/condition crops up that would
cause this lock.

Sven

Reply via email to