If you take a look at the clock_gettime() function, which is available in all BSDs and is actually defined as part of the POSIX standard, you see that there is support for a
The thread will be checking on an internal counter that is set to the duration of the sleep not to the end point of the sleep. The internal counter used has nothing to do with the current system time and therefore will not be affected if any changes occur in the system time.