From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Denton Liu <liu.denton@gmail.com>
Cc: Git Mailing List <git@vger.kernel.org>,
Vincent Lefevre <vincent@vinc17.net>
Subject: Re: [PATCH] pager: exit without error on SIGPIPE
Date: Mon, 01 Feb 2021 16:03:55 +0100 [thread overview]
Message-ID: <87czxjomn8.fsf@evledraar.gmail.com> (raw)
In-Reply-To: <bc88492979fee215d5be06ccbc246ae0171a9ced.1611910122.git.liu.denton@gmail.com>
On Sat, Jan 30 2021, Denton Liu wrote:
> [...]
The thread at large has enough about whether this approach even makes
sense. I won't repeat that here. Just small notes on the patch itself:
> diff --git a/Makefile b/Makefile
> index 4edfda3e00..38a1a20f31 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -719,6 +719,7 @@ TEST_BUILTINS_OBJS += test-mktemp.o
> TEST_BUILTINS_OBJS += test-oid-array.o
> TEST_BUILTINS_OBJS += test-oidmap.o
> TEST_BUILTINS_OBJS += test-online-cpus.o
> +TEST_BUILTINS_OBJS += test-pager.o
> TEST_BUILTINS_OBJS += test-parse-options.o
> TEST_BUILTINS_OBJS += test-parse-pathspec-file.o
> TEST_BUILTINS_OBJS += test-path-utils.o
> diff --git a/pager.c b/pager.c
> index ee435de675..5922d99dc8 100644
> --- a/pager.c
> +++ b/pager.c
> @@ -34,6 +34,8 @@ static void wait_for_pager_atexit(void)
> static void wait_for_pager_signal(int signo)
> {
> wait_for_pager(1);
> + if (signo == SIGPIPE)
> + exit(0);
As shown in
https://lore.kernel.org/git/20210201144921.8664-1-avarab@gmail.com/ this
leaves us without guard rails where the pager dies/segfaults or
whatever.
That's an existing bug, but by not carrying the SIGPIPE forward it
changes from "most of the time we'd exit with SIGPIPE anyway" to "we'll
never notice".
> [...]
> +test_expect_success TTY 'SIGPIPE from pager returns success' '
> + test_terminal env PAGER=true test-tool pager
> +'
> +
> test_done
As noted in
https://lore.kernel.org/git/20210201144921.8664-1-avarab@gmail.com/ I
think this whole "test-tool pager" isn't needed. We can just use git
itself with some trickery.
next prev parent reply other threads:[~2021-02-01 15:06 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-15 16:15 git fails with a broken pipe when one quits the pager Vincent Lefevre
2021-01-29 23:48 ` [PATCH] pager: exit without error on SIGPIPE Denton Liu
2021-01-30 8:29 ` Johannes Sixt
2021-01-30 12:52 ` Johannes Sixt
2021-02-01 15:03 ` Ævar Arnfjörð Bjarmason [this message]
2021-02-01 17:47 ` Junio C Hamano
2021-02-01 19:52 ` Ævar Arnfjörð Bjarmason
2021-02-01 20:55 ` Junio C Hamano
2021-02-02 2:05 ` Ævar Arnfjörð Bjarmason
2021-02-02 4:45 ` Junio C Hamano
2021-02-02 5:25 ` Junio C Hamano
2021-02-02 7:45 ` Johannes Sixt
2021-02-02 20:13 ` Junio C Hamano
2021-02-02 22:15 ` Johannes Sixt
2021-02-02 22:21 ` Junio C Hamano
2021-02-03 17:07 ` Johannes Sixt
2021-02-03 18:12 ` Junio C Hamano
2021-02-04 15:10 ` Vincent Lefevre
2021-02-03 2:45 ` Ævar Arnfjörð Bjarmason
2021-02-03 2:54 ` Junio C Hamano
2021-02-03 3:36 ` Ævar Arnfjörð Bjarmason
2021-02-03 17:19 ` Johannes Sixt
2021-01-31 1:47 ` git fails with a broken pipe when one quits the pager Ævar Arnfjörð Bjarmason
2021-01-31 3:36 ` Vincent Lefevre
2021-01-31 3:47 ` Vincent Lefevre
2021-01-31 20:49 ` Ævar Arnfjörð Bjarmason
2021-02-01 10:34 ` Vincent Lefevre
2021-02-01 11:33 ` Chris Torek
2021-02-01 12:36 ` Vincent Lefevre
2021-02-01 12:53 ` Chris Torek
2021-02-01 15:17 ` Vincent Lefevre
2021-02-01 15:00 ` Ævar Arnfjörð Bjarmason
2021-02-01 12:10 ` Ævar Arnfjörð Bjarmason
2021-02-01 14:48 ` Vincent Lefevre
2021-02-01 15:44 ` Ævar Arnfjörð Bjarmason
2021-02-01 22:16 ` Johannes Sixt
2021-02-03 2:48 ` Ævar Arnfjörð Bjarmason
2021-02-03 17:11 ` Johannes Sixt
2021-02-03 15:26 ` Vincent Lefevre
2021-02-04 0:14 ` Ævar Arnfjörð Bjarmason
2021-02-04 15:38 ` Vincent Lefevre
2021-02-01 14:49 ` [PATCH 0/3] pager: test for exit behavior & trace2 bug fix Ævar Arnfjörð Bjarmason
2021-02-02 1:59 ` [PATCH v2 0/5] " Ævar Arnfjörð Bjarmason
2021-02-02 1:59 ` [PATCH v2 1/5] pager: refactor wait_for_pager() function Ævar Arnfjörð Bjarmason
2021-02-02 1:59 ` [PATCH v2 2/5] pager: test for exit code with and without SIGPIPE Ævar Arnfjörð Bjarmason
2021-02-02 8:50 ` Denton Liu
2021-02-05 7:47 ` Johannes Sixt
2021-02-02 1:59 ` [PATCH v2 3/5] run-command: add braces for "if" block in wait_or_whine() Ævar Arnfjörð Bjarmason
2021-02-02 2:00 ` [PATCH v2 4/5] pager: properly log pager exit code when signalled Ævar Arnfjörð Bjarmason
2021-02-05 7:58 ` Johannes Sixt
2021-02-05 11:37 ` Junio C Hamano
2021-02-02 2:00 ` [WIP/PATCH v2 5/5] WIP pager: respect exit code of pager over SIGPIPE Ævar Arnfjörð Bjarmason
2021-02-01 14:49 ` [PATCH 1/3] pager: test for exit code Ævar Arnfjörð Bjarmason
2021-02-01 14:49 ` [PATCH 2/3] pager: refactor wait_for_pager() function Ævar Arnfjörð Bjarmason
2021-02-01 14:49 ` [PATCH 3/3] pager: properly log pager exit code when signalled Ævar Arnfjörð Bjarmason
2021-02-01 18:07 ` Junio C Hamano
2021-02-01 19:21 ` Ævar Arnfjörð Bjarmason
2021-02-01 18:15 ` Junio C Hamano
2021-02-01 19:23 ` Ævar Arnfjörð Bjarmason
2021-02-01 22:04 ` git fails with a broken pipe when one quits the pager Johannes Sixt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87czxjomn8.fsf@evledraar.gmail.com \
--to=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=liu.denton@gmail.com \
--cc=vincent@vinc17.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.