Re: [PATCH v2] pack-objects: Use packing_data lock instead of read_mutex
From: Junio C Hamano <hidden>
Date: 2019-01-23 17:51:49
Patrick Hogg [off-list ref] writes:
On Tue, Jan 22, 2019 at 5:43 PM Junio C Hamano [off-list ref] wrote:quoted
Patrick Hogg [off-list ref] writes:quoted
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.quoted
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.