阅读:1462回复:3
过滤驱动中如何 进行等待?
在卷过滤驱动中 如果当前irp没有处理完成,系统会在另外一个线程里面 把新的irp发送过来,如果我想对这些irp进行串行 应该怎么做呢?我现在用mutex来对这些irp进行串行,但是有时候可以 有时候当前线程被打断后,就再也切不会来了...这个是什么原因呢?
|
|
沙发#
发布于:2007-07-12 13:01
访问分页内存导致重入??
|
|
板凳#
发布于:2007-07-12 13:30
应该不是 所有动态分配的都用了Nonpaged,而且我发现 当前线程在操作时 如果来了两个新的irp在等待的话 系统就会 不停地在这新的两个线程间切换...但是就是切不回以前的那个线程...就造成死锁了...
|
|
地板#
发布于:2007-07-14 12:30
看现象可能是重入了,用windbg !locks命令看看死锁的线程调用栈。
看看你的驱动代码是不是放在分页内存上了 |
|