内核定时机制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 可以使用 而不是直接比较两个数的大小.
相关文章推荐
- 内核定时机制API之timespec64_add
- 内核定时机制API之do_gettimeofday
- 内核定时机制API之current_kernel_time
- 内核定时机制API之getnstimeofday
- 内核定时机制API之mktime
- 内核定时机制API之__round_jiffies_relative
- 内核定时机制API之ns_to_timespec64 和 ns_to_timeval
- 内核定时机制API之add_timer_on
- 内核定时机制API之add_timer
- 内核定时机制API之msleep 和 msleep_interruptible
- 内核定时机制API之usleep_range
- 内核定时机制API之del_timer_sync
- 内核定时机制API之set_normalized_timespec64
- 内核定时机制API之del_timer
- 内核定时机制API之do_settimeofday64
- 内核定时机制API之get_seconds
- 内核定时机制API之__round_jiffies
- 内核定时机制API之timer_setup
- 内核同步机制API之up
- 内核的定时机制实验