您的位置:首页 > 其它

内核定时机制API之timespec64_compare

2018-02-24 08:13 381 查看
static inline int timespec64_compare(const struct timespec64 *lhs, const struct timespec64 *rhs)
用于比较两个形参timespec64 时间的大小
其源码分析如下:
static inline int timespec64_compare(const struct timespec64 *lhs, const struct timespec64 *rhs)
{
if (lhs->tv_sec < rhs->tv_sec)
return -1;
if (lhs->tv_sec > rhs->tv_sec)
return 1;
return lhs->tv_nsec - rhs->tv_nsec;
}
从这里可以看出首先比较秒的大小,如果秒数相等在让nsec相减
所以最终这个函数的结果是:
lhs < rhs的话返回-1
lhs == rhs的话返回0
lhs > rhs的话返回1
这里可以看出timespec64的时间的equal/compare/add/sub/valid的操作都是有kernel 提供线程的API 可以使用
而不是直接比较两个数的大小.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: