1. 8
  1.  

  2. 3

    If anyone would like see the patch, I had trouble getting to it from the blog.

    I don’t understand the loop condition in the patch:

        case SIGCHLD:
    -       while (waitpid(WAIT_ANY, 0, WNOHANG) > 0) {}
    +       do {
    +           pid = waitpid(WAIT_ANY, NULL, WNOHANG);
    +       } while(pid != -1 || (pid != -1 && errno == EINTR));
            break;
    

    The (pid != -1 && errno == EINTR) condition seems entirely redundant; shouldn’t it be (pid == -1 && errno == EINTR)? @tedu would you mind checking my work here?

    1. 2

      Yeah, looks like a typo.

      1. 1

        Thank you. If you could let reyk know, I’d appreciate it. I’d be happy if you wanted to make an introduction instead, but that seems overblown for a typo.

        1. 2

          Already fixed! Thanks. (And sorry, I forgot to mention you in the commit.)

          1. 2

            No worries, we can save that for a change involving more than one character. You’re fast!