|
From: | Jim Porter |
Subject: | bug#66186: "make lisp/eshell/esh-proc-tests" fails intermittently since 7e50861ca7ed3f620fe62ac6572f6e88b3600ece |
Date: | Mon, 25 Sep 2023 12:12:23 -0700 |
On 9/24/2023 11:47 PM, Eli Zaretskii wrote:
Date: Sun, 24 Sep 2023 22:47:58 -0700 From: Jim Porter <jporterbugs@gmail.com> Cc: jschmidt4gnu@vodafonemail.de, 66186@debbugs.gnu.org I forgot to add: Is there potential for a race condition here? I think I'd written it the other way because there's a chance that the process exits in between checking 'process-live-p' and calling 'process-send-string'.Yes, and therefore I think you should also keep the old code that wrapped the call in condition-case.
Ok, so I've rewritten the patch. Now there are no non-test code changes, so Eshell works as it did before, for better or worse. Jumping through hoops to reduce, but not eliminate, the chance of a crash didn't seem like the right direction to me.
However, I also added a comment in 'eshell-output-object-to-target' pointing to this bug, in case anyone finds this SIGPIPE behavior to be an actual problem (it might be an issue for people who want to write shell scripts in Eshell, but I don't think that's very common anyway). And then...
I could probably also write the test to avoid this race condition entirely, since it's not actually trying to trigger a SIGPIPE (though in general, Eshell should do the right thing in response to SIGPIPE). That would make the regression tests happy.That's always a good thing, thanks.
... I've also done this. Now the regression tests should just avoid the possibility of a SIGPIPE, which will hopefully resolve this bug.
Jens, could you try this version out to make sure the tests pass reliably for you?
0001-Adjust-Eshell-regression-tests-to-avoid-SIGPIPE.patch
Description: Text document
[Prev in Thread] | Current Thread | [Next in Thread] |