From: Jeff King Date: Fri, 24 Apr 2015 17:30:05 GMT Subject: Re: [PATCH 4/5] ref_transaction_commit(): remove the local flags variables Message-ID: <20150424173005.GC30592@peff.net> In-Reply-To: <1429875349-29736-5-git-send-email-mhagger@alum.mit.edu> On Fri, Apr 24, 2015 at 01:35:48PM +0200, Michael Haggerty wrote: > Instead, work directly with update->flags. This has the advantage that > the REF_DELETING bit, set in the first loop, can be read in the third > loop instead of having to compute the same expression again. Plus, it > was kindof confusing having both update->flags and flags, which > sometimes had different values. Hmm. I think this is losing the distinction of "flags the caller has passed in to us" versus "flags we are using locally only during the transaction_commit routine". If callers look at the flags in the REF_TRANSACTION_CLOSED state, do they care about seeing these new flags? My guess is probably not in practice, and "leaking" these flags is an acceptable tradeoff for keeping the transaction_commit function simpler. But I haven't looked that closely. -Peff