If I get the time using clock_gettime(CLOCK_MONOTONIC,x), then call yield (e.g. sched_yield()), then get the CLOCK_MONOTONIC time again, will the difference in times include the time the program wasn't running (having yielded), or does CLOCK_MONOTONIC only track the time during which the program is executing? My tests seem to imply the latter, but I'd like to know for sure.
Also, if CLOCK_MONOTONIC doesn't include the time yielded, is there another monotonic timer (ie. one not subject to jumps caused by ntp) that does?