- 收藏
- 点赞
- 分享
- 举报
Hi2516DV300芯片平台下condition_variable超时等待的问题
【问题描述】:
使用c++11标准中的std::condition_variable,当使用wait_for/wait_until等待超时,此时往前调整系统时钟,可造成wait_for/wait_until等待异常;如:wait_for等待3秒,此时系统时间往前调整10分钟,可造成wait_for在10分3秒后才会退出,从而对软件代码逻辑造成影响。具体参考测试见附件test.cpp。超时时间应该不受系统时间影响,我们在其他平台测试过,见最后的横向对比测试。
编译指令为:arm-himix200-linux-g++ -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -fno-aggressive-loop-optimizations —std=c++11 -Wall -pthread -lm -ldl test.cpp
【所处环境】:
1.先运行程序
2,输入测试指令
~ # date
Thu Jan 1 01:19:23 UTC 1970
~ # date -s “01:18:23”
Thu Jan 1 01:18:23 UTC 1970
【初步分析】:
时间向前调整,std::condition_variable就会卡住,然后等到时间回到当前之后,std::condition_variable才能正常
【定位信息】:
其他平台横向测试对比:
平台:3516Av100
编译器:arm-hisiv300-linux-g++
测试结果:向前调整时间不会对状态变量的等待时间有任何影响;
平台:3519V101
编译器:arm-hisiv500-linux
测试结果:向前调整时间不会对状态变量的等待时间有任何影响;
复现条件:将系统时间向前调整
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
-
2020-09-23 16:38:22
-
2020-11-25 16:24:14
-
2019-05-29 14:31:13
-
2018-12-24 16:46:16
-
2020-06-13 11:57:48
-
2023-10-17 15:51:55
-
2020-06-12 15:21:19
-
2020-03-05 18:42:14
-
2019-09-29 13:55:54
-
2019-09-29 13:57:27
-
2020-04-17 17:28:00
-
2023-08-23 16:36:13
-
2020-03-24 14:51:36
-
2019-06-05 15:24:15
-
2022-06-08 18:36:33
-
2020-05-15 11:20:03
-
2021-04-26 10:13:26
-
2020-08-10 11:01:30
-
2018-06-09 12:59:09
-
10海思IVP928
-
522AP10支持F35SQA001G spi nand flash
-
20如何将自有训练的RAW降噪模型应用于AIBNR?
-
10RV1106的低功耗和休眠唤醒功能
-
10海思平台(Hi3516DV500),设置完ldc参数后 工作异常
-
5rv1126-dc-201 安装hi3881.ko wifi驱动成功后 启动connmand服务,系统就崩了
-
10ss928编码的h264帧流,用RTSP传输到电脑,VLC播放不了是什么情况?
-
10我运行rv1126的开发环境后,编译demo提示没有opencv,自行编译安装后没有解决,请问这个怎么处理呢?板子是easy eai nano
-
50CPS-1848 link不上FPGA。
-
10想问一下各位大佬们,关于VI配置成8Lan LVDS模式的相关问题
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明