On Wed May 14 17:27:58 EDT 2014, quans...@quanstro.net wrote:
> > int
> > incref(Ref *r)
> > {
> > int x;
> > 
> > x = ainc(&r->ref);
> > if(x <= 0)
> > panic("incref pc=%#p", getcallerpc(&r));
> > return x;
> > }
> 
> ah, yes.  i'd not remembered this nice implementation.
> 
> then your ainc is guard-free?  and your Ref is struct Ref {int ref;}?
> also, did you decide that any reuse of the ref lock is already buggy and needs
> no further review?  that's the bit i got bogged down on.

i've rebooted my kernel with this change, and it appears to be solid.
still a bit concerned about additional consistency forced by the prior
incref.

- erik

Reply via email to