-
-
[讨论]还是关于自旋锁的问题
-
发表于: 2014-6-6 15:25 2574
-
Never call IoCompleteRequest while holding a spin lock. Attempting to complete an IRP while holding a spin lock can cause deadlocks.
这是msdn上说的
windows驱动开发详解上却说取消irp例程中是先IocompleteRequest,然后ioReleaseCancelSpinLock
我又糊涂了,这怎么矛盾的?
有自旋锁时,调用IoCompleteRequest 会死锁的道理是什么?是必然死锁,还是在某种情况下才死锁
加个问题
startio已经是运行在dispatch了,没处理完的话,其他线程没有机会运行,那startio又怎么会形成irp队列呢?来一个处理一个,没机会排成队啊
这是msdn上说的
windows驱动开发详解上却说取消irp例程中是先IocompleteRequest,然后ioReleaseCancelSpinLock
我又糊涂了,这怎么矛盾的?
有自旋锁时,调用IoCompleteRequest 会死锁的道理是什么?是必然死锁,还是在某种情况下才死锁
加个问题
startio已经是运行在dispatch了,没处理完的话,其他线程没有机会运行,那startio又怎么会形成irp队列呢?来一个处理一个,没机会排成队啊
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
他的文章
- [求助]apc执行的问题 2627
- [求助]关于驱动的一个问题 3306
- [求助]关于dipatch level 3830
- [讨论]关于startio的问题 2539
- [讨论]还是关于自旋锁的问题 2575
看原图
赞赏
雪币:
留言: