Hi Roger,

On 18/06/2019 6:00 am, Roger Riggs wrote:
Hi,

Updated:
http://cr.openjdk.java.net/~rriggs/webrev-spawn-diag-8225192-3/

+     if (WIFEXITED(status)) {
+         snprintf(ebuf, sizeof ebuf,
+             "Failed to exec spawn helper: pid: %d, exit value: %d",
+             pid, WEXITSTATUS(status));

WIFEXITED returns non-zero when the process terminates normally, so that need not be an error AFAICS.

David


On 6/17/19 2:20 PM, Martin Buchholz wrote:


On Mon, Jun 17, 2019 at 10:47 AM Thomas Stüfe <thomas.stu...@gmail.com <mailto:thomas.stu...@gmail.com>> wrote:

    Hi Roger,

    I think this is fine.

    Could you please also print out WIFEXITED and WIFSIGNALLED? Since
    I am not
    sure if the WEXITSTATUS contains valid info if WIFEXITED is 0, or just
    random noise. Same for WTERMSIG.

I separated the causes, both exits are abnormal since the exec didn't' do what was expected. Only an exit status of 0 is 'normal' and in this case, that is not what expected.

Regards, Roger


    Alternatively:
    if (WIFEXITED) print("exited normaly with %d", WEXITSTATUS)
    else if (WIFSTOPPED) print("terminated with signal %d", WTERMSIG)


thanks for doing this.

I also think it's best to have different detail messages for normal termination and death by signal, as some shells do.

I might put the exception throwing code into a separate function.

Reply via email to