Почему время, сообщаемое функцией time (), иногда составляет 1 секунду после секундного компонента timespec_get () в коде C?

Следующий фрагмент кода: struct timespec ts; for (int x = 0; x < 100000000; x++) { timespec_get(&ts, TIME_UTC); long cTime = (long) time(NULL); if (cTime != ts.tv_sec && ts.tv_nsec < 3000000) { printf("cTime: %ld\n", cTime); printf("ts.tv_sec: %ld\n", ts.tv_sec);...