Re: [PATCH 1/3] grep: move grep_source_init outside critical section
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 16, 2018, 19:24 UTC
- Message-ID
- <xmqqsha068l2.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <20180215221713.GB23970@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 20 quoted lines
> I think this makes sense. It does blur the memory ownership lines of the
> grep_source, though. Can we make that more clear with a comment here:
>
>> + grep_source_init(&gs, GREP_SOURCE_OID, pathbuf.buf, path, oid);
>> +
>> #ifndef NO_PTHREADS
>> if (num_threads) {
>> - add_work(opt, GREP_SOURCE_OID, pathbuf.buf, path, oid);
>> + add_work(opt, &gs);
>> strbuf_release(&pathbuf);
>> return 0;
>> } else
>
> like:
>
> /* leak grep_source, whose fields are now owned by add_work() */
>
> or something? We could even memset() it back to all-zeroes to avoid an
> accidental call to grep_source_clear(), but that's probably unnecessary
> if we have a comment.I share the same uneasiness about the fuzzy memory ownership this change brings in. Thanks for suggesting improvements.