zzyheart
驱动牛犊
驱动牛犊
  • 注册日期2007-03-15
  • 最后登录2008-07-04
  • 粉丝0
  • 关注0
  • 积分150分
  • 威望17点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
阅读:1461回复:3

过滤驱动中如何 进行等待?

楼主#
更多 发布于:2007-07-12 10:45
在卷过滤驱动中 如果当前irp没有处理完成,系统会在另外一个线程里面 把新的irp发送过来,如果我想对这些irp进行串行 应该怎么做呢?我现在用mutex来对这些irp进行串行,但是有时候可以 有时候当前线程被打断后,就再也切不会来了...这个是什么原因呢?
tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-07-12 13:01
访问分页内存导致重入??
zzyheart
驱动牛犊
驱动牛犊
  • 注册日期2007-03-15
  • 最后登录2008-07-04
  • 粉丝0
  • 关注0
  • 积分150分
  • 威望17点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-12 13:30
应该不是 所有动态分配的都用了Nonpaged,而且我发现 当前线程在操作时 如果来了两个新的irp在等待的话 系统就会 不停地在这新的两个线程间切换...但是就是切不回以前的那个线程...就造成死锁了...
tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-07-14 12:30
看现象可能是重入了,用windbg !locks命令看看死锁的线程调用栈。
看看你的驱动代码是不是放在分页内存上了
游客

返回顶部