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? 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.) I just want to confirm preferences first before submitting a v3 to avoid spamming patches; I'll go whichever way the experts think is best. Thanks, -Patrick