如何在Lua中终止被锁定的USB-Serial I/O操作

我有一个运行在OpenWrt Box上的Lua守护程序,定期使用librs232(https://github.com/ynezz/librs232.git)检查多个USB-Serial(ACM)设备上的数据。

我的问题是,现在又一次(约每24小时一次),其中一个USB设备会随机锁定并在应该是非阻塞读取操作期间阻塞。我需要能够检测到这种情况并中止读取操作。

目前,我认为最好的解决方案是为每个USB设备启动单独的线程,但我不确定如何在(非阻塞)读取操作挂起时“杀死”被锁定的线程。

强调一下,我正在寻找一个基于Lua的解决方案。

有人有什么想法吗?

点赞