On Fri, Dec 5, 2014 at 11:32 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Stefan Beller <sbeller@xxxxxxxxxx> writes: > >>> > +static struct lock_file reflog_lock; >>> >>> If this lockfile is only used in that one function, it can be declared >>> inside the function. >>> >>> If it is meant to be used throughout the 'git reflog' command, then it >>> can go near the top of the file. >>> >> >> After the series completes, this lock is only used in reflog_expire. >> So I'd rather move it inside the function? Then we could run the reflog_expire >> function in parallel for different locks in theory? > > I am not sure about the "parallel" part, but I would imagine that it > is an essential prerequisite to move this outside the "client" code > if we want to later replace the backing storage of refs and reflogs > outside the filesystem, so from that point of view, I think the > suggestion makes sense. > > Thanks. > Sorry for the confusion. With parallel I mean, that in theory we could have multiple threads running reflog expire at the same time in the same program. Having the "static struct lock_file reflog_lock;" around, we can only process one reflog at a time, as that is holding the lock_file struct. I am not saying we want to go multi-threading any time soon if at all. Just that it would be easier to do, if not having the lock file as a file-global variable instead of a variable inside a function. Thanks, Stefan -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html