From: Jeff King Date: Tue, 01 Apr 2014 19:56:15 GMT Subject: Re: [PATCH 02/22] try_merge_strategy(): remove redundant lock_file allocation Message-ID: <20140401195615.GB21715@sigill.intra.peff.net> In-Reply-To: <1396367910-7299-3-git-send-email-mhagger@alum.mit.edu> On Tue, Apr 01, 2014 at 05:58:10PM +0200, Michael Haggerty wrote: > By the time the "if" block is entered, the lock_file instance from the > main function block is no longer in use, so re-use that one instead of > allocating a second one. > > Note that the "lock" variable in the "if" block used to shadow the > "lock" variable at function scope, so the only change needed is to > remove the inner definition. I wonder if this would also be simpler if "lock" were simply declared as a static variable, and we drop the allocation entirely. I suppose that does create more cognitive load, though, in that it is only correct if the function is not recursive. On the other hand, the current code makes a reader unfamiliar with "struct lock" wonder if there is a free(lock) missing. -Peff