- 收藏
- 点赞
- 分享
- 举报
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-03-05 18:42:14
-
2020-06-12 15:21:19
-
2019-06-05 15:24:15
-
2019-09-29 13:57:27
-
2019-09-29 13:55:54
-
2023-08-23 16:36:13
-
2020-04-17 17:28:00
-
2020-05-15 11:20:03
-
2021-04-26 10:13:26
-
2022-06-08 18:36:33
-
2020-03-24 14:51:36
-
2018-06-21 12:11:59
-
2018-04-14 15:01:04
-
5SS928的emmc有32GB,bootargs设置使用16GB,但是为啥能用的只有rootfs的大小
-
33SS928怎样烧写ubuntu系统
-
10ToolPlatform下载rootfs提示网络失败
-
10谁有GK7205V500的SDK
-
5Hi3516CV610 烧录不进去
-
10Hi3559AV100 芯片硬解码h265编码格式的视频时出现视频播放错误,解码错误信息 s32PackErr:码流有错
-
5海思SS928 / SD3403的sample_venc.c摄像头编码Demo中,采集到的摄像头的YUV数据在哪个相关的函数中?
-
5海鸥派openEuler无法启动网卡,连接WIFI存在问题
-
66有没有ISP相关的巨佬帮忙看看SS928对接IMX347的图像问题
-
50求助hi3559与FPGA通过SLVS-EC接口对接问题
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明