Re: [gamin] gamin-lose-watch-fix.patch



On Thu, 2005-07-28 at 10:21 -0400, Daniel Veillard wrote:
> On Mon, Jul 25, 2005 at 06:52:17PM -0400, John McCutchan wrote:
> > Yo,
> > 
> > I'm attaching a patch that fixes the reference counting bugs
> > http://bugzilla.gnome.org/show_bug.cgi?id=172365 ,
> > http://bugzilla.gnome.org/show_bug.cgi?id=302236 , and countless distro
> > specific bug reports.
> > 
> > The bug symptom was that the kernel backends would drop the refcount to
> > 0 and then stop watching a directory, while the subscription layer would
> > think that it was still watching the directory. 
> > 
> > The cause of the bug was a missing return statement when removing a
> > subscription that was on the new subscription list. Gamin would ask the
> > kernel to stop watching a directory when it had never asked it to watch
> > it in the first place (because it was still on the new queue). This
> > caused the kernel ref counting to screw up. This was also why that
> > assert was causing a crash for me.
> 
>    okay,
> 

Once I commit this patch, you can close a bunch of Fedora bugs about
'events not being sent after awhile.' and those gnome bugs.

> > The patch also includes some debug changes, and I factored out the get
> > pid name code. I'm away from my main development machine, so I won't be
> > able to commit this until Sunday. Feel free to commit before then.
> 
>    I'm not sure why some messages were removed and other were added,
> but this looks cosmetic. I'm a bit surprized by the memset for the stat
> buffer, I would expect the kernel to fill out the bits, but this should
> be safe. So yes, sure, commit !


The debug messages are mainly cosmetic, and I tried to cut down on some
messages that I didn't find helpful. I only added those memset bits to
keep valgrind happy...

John




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