ondrej.vot...@cvut.cz <ondrej.vot...@cvut.cz> [2020-01-20 10:53:05]:

Ahoj,
this comment(if it's really needed and I doubt that) should go into commit
description, self-explaining code is prefered, everybody knows how to use man
pages already or knows how to use `git blame`.

> +     /*
> +     According to man waitpid(2) exit codes might be:
> +     0 -- everything is OK
> +     SIGNALLED -- 1 - 64 - and since we want the same behavior as SHELL, we 
> add 128

Why is having same behavior as shell desirable? Having answer to that question
in the commit description would probably help more.

> +             @see http://tldp.org/LDP/abs/html/exitcodes.html
> +     256 - 65536 -- regular exit, strip the bottom byte with WEXITSTATUS 
> macro.
> +             @see man waitpid(2)
> +     */
> +     in->exit_code = WIFEXITED(ret) ? WEXITSTATUS(ret) : WIFSIGNALED(ret) ? 
> 128 + WTERMSIG(ret) : 1;

I'm having hard time reviewing this line, probably something like bellow
(untested) would work as well:

 static int process_wait_result(int status)
 {
        int ret;

        ret = WEXITSTATUS(status);
        if (WIFSIGNALED(status))
                ret = 128 + WTERMSIG(status);

        return ret;
 }

 in->exit_code = process_wait_result(ret);

-- ynezz

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to