[PATCH v2 2/2] ash: use JOBS as the compile time option it actually is
Johannes Schindelin
johannes.schindelin at gmx.de
Fri Jul 14 20:25:58 UTC 2017
Using the constant in a regular `if (...)` pretends that this is
anything but a compile time option. Let's use `#if JOBS` instead,
making it *much* clearer what `JOBS` actually is.
Incidentally, this change fixes the build in setups where there are
no headers defining WIFSTOPPED and WSTOPSIG (where JOBS has to be
set to 0).
This partially reverts 4700fb5be (ash: make dowait() a bit more
readable. Logic is unchanged, 2015-10-09).
Signed-off-by: Johannes Schindelin <johannes.schindelin at gmx.de>
---
shell/ash.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/shell/ash.c b/shell/ash.c
index 8c2098dd9..b0c7dac54 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -4022,15 +4022,19 @@ sprint_status48(char *s, int status, int sigonly)
col = 0;
if (!WIFEXITED(status)) {
- if (JOBS && WIFSTOPPED(status))
+#if JOBS
+ if (WIFSTOPPED(status))
st = WSTOPSIG(status);
else
+#endif
st = WTERMSIG(status);
if (sigonly) {
if (st == SIGINT || st == SIGPIPE)
goto out;
- if (JOBS && WIFSTOPPED(status))
+#if JOBS
+ if (WIFSTOPPED(status))
goto out;
+#endif
}
st &= 0x7f;
//TODO: use bbox's get_signame? strsignal adds ~600 bytes to text+rodata
@@ -4182,8 +4186,10 @@ dowait(int block, struct job *job)
goto out;
}
/* The process wasn't found in job list */
- if (JOBS && !WIFSTOPPED(status))
+#if JOBS
+ if (!WIFSTOPPED(status))
jobless--;
+#endif
out:
INT_ON;
--
2.13.3.windows.1.13.gaf0c2223da0
More information about the busybox
mailing list