По документации монотонные часы не идут назад. В реальности ОС иногда нарушает это обещание, поэтому результат системного вызова дополнительно ограничивают предыдущим значением внутри процесса.
В заметке «Considering Strictly Monotonic Time» предлагается усилить защиту: возвращать максимум из показания ОС и предыдущего времени плюс одна наносекунда. Тогда проверку
past <= present можно заменить на past < present. Она поймает не только движение времени назад, но и случайную передачу одного и того же значения вместо нового вызова часов.Ограничение у приёма одно: точности значения должно хватать, чтобы повторные прибавления наносекунды не увели время вперёд. Автор считает наносекундную точность достаточной.