Patrick Hogg <phogg@xxxxxxxxxxxx> writes: > On Tue, Jan 22, 2019 at 5:43 PM Junio C Hamano <gitster@xxxxxxxxx> wrote: >> >> Patrick Hogg <phogg@xxxxxxxxxxxx> writes: >> >> > As I mentioned in the prior thread I think that it will be simpler >> > to simply use the existing lock in packing_data instead of moving >> > read_mutex. I can go back to simply moving read_mutex to the >> > packing_data struct if that that is preferable, though. >> >> I'll let others comment on this to show preference between the two >> approaches. >> >> > I also removed the #ifndef NO_PTHREADS in prepare_packing_data around >> > the initialization of &pdata->lock since I had to upgrade the lock to >> > a recursive mutex. As far as I can tell init_recursive_mutex (and >> > pthread_mutex_init for that matter) have that protection already so it >> > appears to be redundant. >> >> If you can defer "I also" to a separate patch, please do so. >> Keeping the fix alone as small as possible and not tangled with >> other changes would make it easier for people to cherry-pick the fix >> to older maintenance tracks if they choose to. > > That's a fair point. To confirm (as I'm rather new to submitting git > patches), do you mean to submit a two-patch series or to just leave > out the #ifndef removal altogether for now? Either would work ;-) > If this does become a two patch series I could simply move the > read_mutex to packing_data in the first patch and merge the two > mutexes (and remove the #ifndef) in the second. That would keep the > fix alone even smaller (just the first patch) to simplify > cherry-picking. > > (There is also the option of going back to the v1 change and > correcting the cleanup in the early return.) Yes, but as I said, I'll let others show their preferences between approaches v1/v2.