[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2023-01-16 Thread Paul D. Smith
Follow-up Comment #21, bug #63307 (project make): This should be fixed in the for the 4.4.1 release; you can download and try a pre-release of it here: https://alpha.gnu.org/gnu/make/make-4.4.0.90.tar.gz ___ Reply to this item at:

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2023-01-16 Thread Eric Blake
Follow-up Comment #20, bug #63307 (project make): For reference, another failure caused by make's change in behavior: https://listman.redhat.com/archives/libguestfs/2023-January/030474.html ___ Reply to this item at:

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-13 Thread Paul D. Smith
Update of bug #63307 (project make): Status:None => Fixed Assigned to:None => psmith Open/Closed:Open => Closed Fixed Release:

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-12 Thread Alexander Kanavin
Follow-up Comment #19, bug #63307 (project make): In addition to the diffutils failure (which I am also observing), this change broke m4 tests: https://savannah.gnu.org/support/index.php?110767 I'd err on the side of previous behavior, since this is not the last such failure for sure.

Re: [bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-09 Thread Alejandro Colomar
On 11/9/22 21:36, Paul D. Smith wrote: Follow-up Comment #18, bug #63307 (project make): I can see an argument for both sides ("give up immediately" and "run to completion"). Most likely it's one of those things where different people legitimately want different behaviors. But I think that

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-09 Thread Paul D. Smith
Follow-up Comment #18, bug #63307 (project make): I can see an argument for both sides ("give up immediately" and "run to completion"). Most likely it's one of those things where different people legitimately want different behaviors. But I think that since all previous versions of GNU Make

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-08 Thread Dmitry Goncharov
Follow-up Comment #17, bug #63307 (project make): > Speaking only for myself, the most realistic scenario I can think of where I would encounter this myself is if I run 'make 2>&1 | less' and then quit less. In that case I would not be interested in having any build continue, I would just want to

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-08 Thread Dmitry Goncharov
Follow-up Comment #16, bug #63307 (project make): > It appears that make still performs the same build. But maybe I just got something wrong in my test. For example something like this $ cat makefile all: one one: two @echo cp $< $@ >&2 @cp $< $@ two: @echo touch

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-08 Thread anonymous
Follow-up Comment #15, bug #63307 (project make): Whether that's "equally likely" is something we are probably going to disagree over, especially in the case where output (or potentially error) is piped to another process, but not worth getting into a discussion about. Suffice to say, it is

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-08 Thread Andreas Schwab
Follow-up Comment #14, bug #63307 (project make): The SIGPIPE failure only happens when the process actually produces output to the broken pipe. But it is equally likely that a recipe doesn't actually produce any output on stdout. ___

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-08 Thread anonymous
Follow-up Comment #13, bug #63307 (project make): When SIGPIPE is set to the default action, then yes, writing to a closed pipe is expected to get make to die abnormally. That's how SIGPIPE is designed to work. :) This is different from a regular failure to write to stdout. There is little

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-07 Thread Paul D. Smith
Follow-up Comment #12, bug #63307 (project make): > Should inability to write to stdout cause make to die abnormally? I had the same thought but oddly, I can't seem to generate a use-case where make behaves differently with this FATAL_SIG set for SIGPIPE. It appears that make still performs the

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-07 Thread Dmitry Goncharov
Follow-up Comment #11, bug #63307 (project make): [comment #10 comment #10:] > I'm not sure how using a semaphore helps here. We would still have to clean up the semaphore with sem_unlink(). indeed. > The main goal of that change was to allow our cleanup operations to proceed even when SIGPIPE

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-06 Thread Paul D. Smith
Follow-up Comment #10, bug #63307 (project make): I'm not sure how using a semaphore helps here. We would still have to clean up the semaphore with sem_unlink(). The main goal of that change was to allow our cleanup operations to proceed even when SIGPIPE was found, and semaphores still need to

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-06 Thread Dmitry Goncharov
Follow-up Comment #9, bug #63307 (project make): On Sat, Nov 5, 2022 at 6:54 PM Philip Guenther wrote: > This is a change in behavior: The root of this change is not sigpipe itself, it is the new synchronisation mechanism which uses temporary files. Paul, i remember we discussed using a semaphore

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-06 Thread Dmitry Goncharov
Additional Item Attachment, bug #63307 (project make): File name: sv63307_fix2.diff Size:1 KB File name: sv63307_test2.diff Size:2 KB

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-06 Thread anonymous
Follow-up Comment #8, bug #63307 (project make): There may be an even simpler solution than that. There was never any need to ignore SIGPIPE, we just need to make sure temporary files are cleaned up if we get SIGPIPE, it's okay and expected if make dies after that cleanup. There is already a

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-06 Thread anonymous
Follow-up Comment #7, bug #63307 (project make): > Other reasons are the desire to avoid complexity in make. I agree with the desire to avoid complexity, but preserving an ignored SIGPIPE on top of your patch needs no more than: if (bsd_signal (SIGPIPE, handle_sigpipe) == SIG_IGN)

Re: [bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-05 Thread Philip Guenther
On Sat, Nov 5, 2022 at 1:34 PM Dmitry Goncharov wrote: > Follow-up Comment #6, bug #63307 (project make): > > > If SIGIGN was ignored before make was started though, it should remain > ignored, even for make's children, see also >

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-05 Thread Dmitry Goncharov
Follow-up Comment #6, bug #63307 (project make): > If SIGIGN was ignored before make was started though, it should remain ignored, even for make's children, see also in reply to Andreas Schwab's first patch. Correct me if I am

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-05 Thread anonymous
Follow-up Comment #4, bug #63307 (project make): Nice idea to just have a signal handler that does nothing. If SIGIGN was ignored before make was started though, it should remain ignored, even for make's children, see also in

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-05 Thread anonymous
Follow-up Comment #5, bug #63307 (project make): That previous comment was meant to read SIGPIPE, not SIGIGN, of course :) ___ Reply to this item at:

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-04 Thread Dmitry Goncharov
Follow-up Comment #2, bug #63307 (project make): Is it useful to restore sigpipe before spawning children? Is that not good enough to have sigpipe disposition set to default for children? There are signals for which it is important to preseve the disposition, notably sighup for nohup, but not

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-04 Thread Dmitry Goncharov
Follow-up Comment #3, bug #63307 (project make): Tested on linux, sun and aix. ___ Reply to this item at: ___ Message sent via Savannah

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-04 Thread Dmitry Goncharov
Additional Item Attachment, bug #63307 (project make): File name: sv63307_fix.diff Size:1 KB File name: sv63307_test.diff Size:2 KB

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-02 Thread anonymous
Follow-up Comment #1, bug #63307 (project make): Can confirm the patch posted to the mailing list, , works for me to fix this. Thanks for the prompt response. ___ Reply to

[bug #63307] make 4.4 passes ignored SIGPIPE on to children

2022-11-02 Thread anonymous
URL: Summary: make 4.4 passes ignored SIGPIPE on to children Project: make Submitter: None Submitted: Wed 02 Nov 2022 03:12:02 PM UTC Severity: 3 - Normal Item