Alan, Take a look at the final commit, we're on the same page. Brian
On Thu, Nov 6, 2014 at 1:38 PM, Alan M. Carroll <a...@network-geographics.com > wrote: > We are simply incapable of doing anything in a simple way. > > I see James' point but I disagree with his implementation. > > I would recommend setting the refcount to 1 on allocate and doing just > > > if (mutextp->refcount_dec() == 0) { > > mutextp->free(); > > } > > If you are doing this because you presume the mutex might be shared with > other internals, then you *really* need to make sure the initial refcount > is 1. And if you do that, you shouldn't check for 0 (in fact, you should > sdk_assert() the ref count is > 0). > > As a side note, I utterly fail to see the point of > REF_COUNT_OBJ_REFCOUNT_DEC as other than to be discarded as soon as > possible legacy cruft. > >