Re: [PATCH nd/threaded-index-pack] index-pack: disable threading if NO_PREAD is defined
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 20, 2012, 19:49 UTC
- Message-ID
- <xmqqr4vimbe1.fsf@junio.mtv.corp.google.com>
- In-Reply-To
- <4F910145.5030102@viscovery.net>
Johannes Sixt <j.sixt@viscovery.net> writes:
Show 22 quoted lines
> Am 4/19/2012 16:05, schrieb Nguyễn Thái Ngọc Duy: >> NO_PREAD simulates pread() as a sequence of seek, read, seek in >> compat/pread.c. The simulation is not thread-safe because another >> thread could move the file offset away in the middle of pread >> operation. Do not allow threading in that case. > > Unsurprisingly, this fixes the breakage for me. > > I used the attached patch to keep t9300 running when the breakage > was detected. > > --- 8< --- > From: Johannes Sixt <j6t@kdbg.org> > Subject: [PATCH] t9300-fast-import: avoid 'exit' in test_expect_success snippets > > Exiting from a for-loop early using '|| break' does not propagate the > failure code, and for this reason, the tests used just 'exit'. But this > ends the test script with 'FATAL: Unexpected exit code 1' in the case of > a failed test. > > Fix this by moving the loop into a shell function, from which we can > simply return early.
Makes sense. If the original were written more readably, I may have suggested to run the entire for loop in a subshell, but a helper function is equally readable and with many identical checks, it is the right way to do this.
Thanks.