]> granicus.if.org Git - git/commitdiff
http-backend: enable cleaning up forked upload/receive-pack on exit
authorMax Kirillov <max@max630.net>
Sat, 24 Nov 2018 13:48:27 +0000 (15:48 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 26 Nov 2018 02:10:18 +0000 (11:10 +0900)
If http-backend dies because of errors, started upload-pack or
receive-pack are not killed and waited, but rather stay running for
some time until they exit because of closed stdin. It may be
undesirable in working environment, and it also causes occasional
failure of t5562, because the processes keep opened act.err, and
sometimes write there errors after next test started using the file.

Fix by enabling cleaning of the command at http-backed exit.

Reported-by: Carlo Arenas <carenas@gmail.com>
Helped-by: Carlo Arenas <carenas@gmail.com>
Signed-off-by: Max Kirillov <max@max630.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
http-backend.c

index 458642ef72b879a2f53d6e1f8f192847ed814111..ebf268cacebadeccf4cdc085e04b1af2b68120e2 100644 (file)
@@ -486,6 +486,8 @@ static void run_service(const char **argv, int buffer_input)
        if (buffer_input || gzipped_request || req_len >= 0)
                cld.in = -1;
        cld.git_cmd = 1;
+       cld.clean_on_exit = 1;
+       cld.wait_after_clean = 1;
        if (start_command(&cld))
                exit(1);