The clock time can be set to 0, a large number, Y2K critical dates,
and times around daylight savings.
clock_gettime() with CLOCK_REALTIME is monotonically increasing in both
seconds and nanoseconds.
Clock time for clocks:
CLOCK_REALTIME
CLOCK_MONOTONIC
is equivalent to some known good clock over time, even if the time
is reset.
Having a call to clock_settime() interrupted with a signal does not
affect the setting of the clock.
Killing a process setting the clock does not affect the clock time in
an unpredictable fashion.
If clocktime is set as a timer expires, the time is still set correctly.
Two processes can attempt to set the clock at (nearly) the same time and
both sets will succeed, with the later one taking effect.
The a timer can be set to expire at 0, a large number, Y2K critical dates,
and times around daylight savings with no unpredictable results.
Timers (relative and absolute) expire at the POSIX-defined times when the
clock changes.
Multiple relative timers set up in a particular order (possibly with a small
delay between each) expire in the order set up. [Not required by POSIX,
though, so this should not fail if it does not work.]
All possible events can be sent on timer expirations.
Two timers in one process can expire at the same time, but with
different events.
Timers in two different processes which are set to expire at the same time
are able to expire at the same time.
A repeating timer set to expire at time X and a non-repeating set to
expire at 2X will both expire at the same time at 2X.
A repeating timer will expire at the correct time for at least ten
expirations.
For multiple repeating timers with different intervals blocked, the
overrun count for each is correct.
Overrun count and timer_gettime() return correct values when
SIGEV_NONE is used in ev.sigev_notify.
Calling timer_getoverrun() as an overrun is happening returns the
correct value.
A process can sleep until 0, a large number, Y2K critical dates,
and times around daylight savings with no unpredictable results.
Sleeps (relative and absolute) expire at the POSIX-defined times when the
clock changes.
Sleeps in two different processes which are set to end at the same time
are able to end at the same time.