Poking around in signal_handler.c out of curiosity, I came across this:

        while(UNLIKELY(close(control_pipe[0])) < 0 && UNLIKELY(errno==EINTR));
        while(UNLIKELY(close(control_pipe[1])) < 0 && UNLIKELY(errno==EINTR));
(lines 3580-3581)

The UNLIKELY marker normally applies to an entire condition, not just
to the integer that's about to be compared to zero. Should this
become:

        while(UNLIKELY(close(control_pipe[0]) < 0) && UNLIKELY(errno==EINTR));
        while(UNLIKELY(close(control_pipe[1]) < 0) && UNLIKELY(errno==EINTR));

or is there something I'm not understanding about the nature of UNLIKELY()?

ChrisA

Reply via email to