我的嵌入式系统运行Linux操作系统。系统有两个通过USB连接的操纵杆。 我的程序在准备就绪时应该读取这两个设备中的任何一个并将操纵杆密钥信息传递给上层 我的程序执行以下操作。
上面的代码工作正常。没问题。
作为负面测试案例的一部分,我在打开并成功读取后从USB中移除了一个操纵杆。
我开始看到以下perror - > “read()失败:没有这样的文件或设备。
我想处理这个错误,如果操纵杆被移除并插回,代码应该相应地重新打开它而没有任何问题。
当我遇到上述错误时,我试图关闭设备并将我的fd设置为-1,这样作为步骤1的一部分,它将重新打开。但这不起作用。我正在调试它。我认为 close()在遇到没有此类文件或设备错误后无效。
如果有人遇到此类问题或知道如何处理此类情况(打开USB设备后将其移除并插入),请提供您的输入。
非常感谢。 问候, 艾默生