我是靠谱客的博主 含糊乌冬面,最近开发中收集的这篇文章主要介绍android 修改系统时间_修改系统时间,导致sem_timedwait 一直阻塞的问题解决和分析...,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
介绍
最近修复项目问题时,发现当系统时间往前修改后,会导致sem_timedwait函数一直阻塞。通过搜索了发现
int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout);
传入的第二个阻塞时间参数是绝对的时间戳,那么该函数是存在缺陷的。
sem_timedwait存在的缺陷的理由
假设当前系统时间是1565000000(2019-08-05 18:13:20),sem_timedwait传入的阻塞等待的时间戳是1565000100(2019-08-05 18:15:00),那么sem_timedwait就需要阻塞1分40秒(100秒),若在sem_timedwait阻塞过程中,中途将系统时间往前修改成1500000000(2017-07-14 10:40:00),那么sem_timedwait此时就会阻塞2年多! 这就是sem_timedwait存在的缺陷!!
sem_timedwait函数介绍
int sem_timedwait(
最后
以上就是含糊乌冬面为你收集整理的android 修改系统时间_修改系统时间,导致sem_timedwait 一直阻塞的问题解决和分析...的全部内容,希望文章能够帮你解决android 修改系统时间_修改系统时间,导致sem_timedwait 一直阻塞的问题解决和分析...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复