Pourquoi le temps est-il rapporté par time () parfois 1 seconde derrière le composant secondes de timespec_get () en code C?

L'extrait de code suivant: 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);...