多线程调用ioctl 应在哪进行互斥操作?
我的一个设备驱动有2个函数A和B,他们都调用I2C进行读写操作
我在上层有2个线程,分别通过ioctl调用A和B的时候,会不会有冲突?如果有冲突,我应该在哪个层面进行互斥操作?
[解决办法]
这种情况应该在驱动里面进行互斥操作。这样即使你将来再加一个线程进行访问,也是安全的。当然互斥量保护的范围越小越好。
发布时间: 2012-04-09 13:41:25 作者: rapoo
多线程调用ioctl 应在哪进行互斥操作?
我的一个设备驱动有2个函数A和B,他们都调用I2C进行读写操作
我在上层有2个线程,分别通过ioctl调用A和B的时候,会不会有冲突?如果有冲突,我应该在哪个层面进行互斥操作?
[解决办法]
这种情况应该在驱动里面进行互斥操作。这样即使你将来再加一个线程进行访问,也是安全的。当然互斥量保护的范围越小越好。