Subject: Re: [PATCH v9 00/19] index-helper/watchman

From: David Turner <[email-masked]>
Date: Mon, 09 May 2016 19:12:53 -0400

On Mon, 2016-05-09 at 15:32 -0700, Junio C Hamano wrote:
> Junio C Hamano <[email-masked]> writes:
> 
> > David Turner <[email-masked]> writes:
> > 
> > > On Mon, 2016-05-09 at 14:40 -0700, Junio C Hamano wrote:
> > > > Hmmm, I seem to be getting
> > > > 
> > > >     $ cat t/trash*7900*/err
> > > >     fatal: Already running
> > > > 
> > > > after running t7900 and it fails at #5, after applying
> > > > "index-helper: optionally automatically run"
> 
> The symptom looks pretty similar to $gmane/293461 reported earlier.
> Here is how "t7900-index-helper.sh -i -v -x -d" ends.
> 
> 
> expecting success:
>         test_when_finished "git index-helper --kill" &&
>         rm -f .git/index-helper.sock &&
>         git status &&
>         test_path_is_missing .git/index-helper.sock &&
>         test_config indexhelper.autorun true &&
>         git status &&
>         test -S .git/index-helper.sock &&
>         git status 2>err &&
>         test -S .git/index-helper.sock &&
>         test_must_be_empty err &&
>         git index-helper --kill &&
>         test_config indexhelper.autorun false &&
>         git status &&
>         test_path_is_missing .git/index-helper.sock
> 
> + test_when_finished git index-helper --kill
> + test 0 = 0
> + test_cleanup={ git index-helper --kill
>                 } && (exit "$eval_ret"); eval_ret=$?; :
> + rm -f .git/index-helper.sock
> + git status
> On branch master
> Untracked files:
>   (use "git add <file>..." to include in what will be committed)
> 
>         err
> 
> nothing added to commit but untracked files present (use "git add" to
> track)
> + test_path_is_missing .git/index-helper.sock
> + test -e .git/index-helper.sock
> + test_config indexhelper.autorun true
> + config_dir=
> + test indexhelper.autorun = -C
> + test_when_finished test_unconfig  'indexhelper.autorun'
> + test 0 = 0
> + test_cleanup={ test_unconfig  'indexhelper.autorun'
>                 } && (exit "$eval_ret"); eval_ret=$?; { git index
> -helper --kill
>                 } && (exit "$eval_ret"); eval_ret=$?; :
> + git config indexhelper.autorun true
> + git status
> error: last command exited with $?=141

I think that's a SIGPIPE on the first git status.  Weird, since I just
added sigpipe-avoidance code (in v8).  Does anyone have any idea why
the sigchain stuff isn't doing what I think it is?