|
| From: | anonymous |
| Subject: | [bug #51014] .SHELLSTATUS not always set correctly when $(shell ...) terminated by signal |
| Date: | Fri, 12 May 2017 14:22:30 -0400 (EDT) |
| User-agent: | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36 |
URL:
<http://savannah.gnu.org/bugs/?51014>
Summary: .SHELLSTATUS not always set correctly when $(shell
...) terminated by signal
Project: make
Submitted by: None
Submitted on: Fri 12 May 2017 06:22:29 PM UTC
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: 4.2.1
Operating System: POSIX-Based
Fixed Release: None
Triage Status: None
_______________________________________________________
Details:
It looks like the value of .SHELLSTATUS is not always set correctly when the
$(shell …) command is terminated by a signal.
Here’s a Makefile which demonstrates this behavior:
STDOUT := $(shell kill -s SEGV $$$$)
$(info status=$(.SHELLSTATUS) stdout="$(STDOUT)")
all :
@echo "done"
On Debian 8 Linux and OSX 10.12.2 using gmake 4.2.1 I get the following
output:
status=0 stdout=" "
done
On Windows 10 also using gmake 4.2.1 I get the following output:
status=267 stdout=" "
done
On Linux and OSX I would have expected the behavior I'm seeing on Windows 10,
where gmake receives a non-zero exit value from the recipe.
Thanks!
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?51014>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
| [Prev in Thread] | Current Thread | [Next in Thread] |