[PATCH 3/3] ash: use JOBS as the compile time option it actually is
Xabier Oneca -- xOneca
xoneca at gmail.com
Fri Jul 14 14:57:01 UTC 2017
Hello Johannes,
2017-07-14 16:11 GMT+02:00 Johannes Schindelin <johannes.schindelin at gmx.de>:
> 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..5c8216331 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,7 +4186,9 @@ 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))
> +#endif
> jobless--;
Here the logic does change.
> out:
> INT_ON;
> --
> 2.13.3.windows.1.13.gaf0c2223da0
> _______________________________________________
> busybox mailing list
> busybox at busybox.net
> http://lists.busybox.net/mailman/listinfo/busybox
Cheers,
Xabier Oneca_,,_
More information about the busybox
mailing list