LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 939|回复: 0

嵌入式linux中camera usb 插拔问题请教

[复制链接]
发表于 2007-12-28 14:45:30 | 显示全部楼层 |阅读模式
问题是这样的:
在嵌入式linux中,插上摄像头,我有个程序开一个线程去不间断地采集视频数据,而主函数是做socket通信服务器端,将采集的视频数据发给客户端。当我拔掉摄像头时,问题就来了:采集视频数据的线程意外终止,并且在终端打印信息:
usb.c: USB disconnect on device 4。
但整个程序进程没有退出,通过ps可以看到进程,而当我再插上摄像头,linux也没探测到usb已插上。只有当我kill哪个进程后,linux才意识到有usb插上了,输出:
hub.c: USB new device connect on bus1/1, assigned device number  5
spca_core.c: USB SPCA5XX camera found. Type Vimicro Zc301P 0x303b
我不明白这是为什么?这个程序对linux探测usb有什么影响吗?难道是因为该程序一直占用着设备文件标识符的缘故?可当usb拔掉时,linux是已经知道USB disconnect ,为什么不终止整个进程,然后关闭设备文件,释放资源?
另外,当usb拔掉时,有什么机制能通知程序的主函数么?

请大侠多多解疑指点!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表