CSerialPort
CSerialPort copied to clipboard
在使用同步读写是,读和写共用同一个锁会导致操作串行化(同一时间只能读或写)
描述bug CSerialPortUnixBase.cpp设备打开/读/写,使用了同一个锁p_mutex, 导致读写操作被迫串行. 而串口又是双工的,读写肯定是可以并行的. 读应该串行, 写可以串行也可以不串行(借用操作系统的能力可以保证)
重现步骤 读时写或写时读,必现
预期行为 读的同时可以写,写的同时可以读
截图 不需要
运行环境信息:
- 操作系统: Arch Linux
- 编译器: gcc
- 版本号: 15.0
其他内容 环境无关, 从代码即可定性
感谢反馈,近期会优化该问题