From: Joshua Hudson Date: Tue, 27 Jun 2023 21:14:31 GMT Subject: Re: [PATCH] ll-merge: killing the external merge driver aborts the merge Message-ID: In-Reply-To: On 6/27/2023 1:04 PM, Junio C Hamano wrote: > Joshua Hudson writes: > >> On 6/27/2023 12:08 PM, Junio C Hamano wrote: >>> Johannes Schindelin writes: >>> >>>> On Fri, 23 Jun 2023, Junio C Hamano wrote: >>>> >>>>> Junio C Hamano writes: >>>>> >>>>>> Elijah Newren writes: >>>>>> >>>>>>> Reviewed-by: Elijah Newren >>>>>> Thanks for a quick review. >>>>> Unfortunately Windows does not seem to correctly detect the aborting >>> Sorry, I did not mean "abort(3)" literally. What I meant was that >>> an external merge driver that gets spawned via the run_command() >>> interface may not die by calling exit()---like "killed by signal" >>> (including "segfaulting"). The new test script piece added in the >>> patch did "kill -9 $$" to kill the external merge driver itself, >>> which gets reported as "killed by signal" from run_command() by >>> returning the signal number + 128, but that did not pass Windows CI. >>> >> Do you need me to provide a windows test harness? > Sorry, I do not understand the question. > > FWIW how "external merge driver that kills itself by sending a > signal to itself does not get noticed on Windows" appears in our > tests can be seen at > > https://github.com/git/git/actions/runs/5360824580/jobs/9727137272 > > The job is "win test(0)", part of our standard Windows test harness > implemented as part of our GitHub Actions CI test. > > Thanks. Try changing kill -9 $$ to exit 137 # 128 + 9