修改系统时间导致的坑

2017-08-25
1分钟阅读时长
c++

有一天测试人员对我说, 我怎么测试10点开站会这个功能呢? 当时也没有经过脑子, 直接对她说, 你把系统时间修改一下吧.

好嘛, 麻烦来了. 测试对我说, 你新开发的程序有BUG, 程序没反应了. 我晕, 哥已经测过的, 怎么会有问题呢? 然后我就做在那开发排地雷. 后来经过仔细排查, 排查到一个别人封装的接口, 我把那个程序大致的样子写出来.

sleep_for.png

程序总是在这个函数中阻塞住. 为什么会阻塞呢? 然后我就在这段代码中到处加log打印

直到我把std::cout << sleep before << std::endl加在23行时, 我终于发现问题了, 发现程序阻塞在24行

boost::this_thread::sleep_for是不能修改系统时间的!!!