我有一个在 OpenWrt Box 上运行的 Lua 守护程序,它使用 librs232 ( https://github.com/ynezz/librs232.git ) 定期检查多个 USB 串行 (ACM) 设备上的数据。
我遇到的问题是,有时(大约每 24 小时一次)其中一个 USB 设备会在应该是非阻塞读取操作期间随机锁定和阻塞。我需要能够检测到这种情况并中止读取操作。
目前,我认为最好的解决方案是为每个 USB 设备启动一个单独的线程,但我不确定在(非阻塞)读取操作挂起时如何“杀死”锁定的线程。
为了强调,我正在寻找基于Lua的解决方案。
有没有人有任何想法?