macOS上使用什么时钟返回SO_TIMESTAMP的值?

问题描述 投票:2回答:1

由于找不到任何文档,没有人知道在设置SCM_TIMESTAMP_MONOTONIC时在macOS上使用什么时钟返回辅助标头SO_TIMESTAMP_MONOTONIC的值吗?从测试来看,似乎可能是CLOCK_MONOTONIC_RAW是有意义的,但也可能是CLOCK_UPTIME_RAW,但这将是一个奇怪的选择,因为它在睡眠期间不会前进吗?我假设对于SO_TIMESTAMP,使用gettimeofday的返回值?

c macos sockets posix
1个回答
1
投票

设置了SO_TIMESTAMP时,使用getmicrotime()。设置SO_TIMESTAMP_MONOTONIC时,使用mach_absolute_time()

来源:https://opensource.apple.com/source/xnu/xnu-6153.61.1/bsd/netinet/ip_input.c

© www.soinside.com 2019 - 2024. All rights reserved.