首页
社区
课程
招聘
[求助]RtlInsertElementGenericTable 单核没事,双核CPU会出现死锁
发表于: 2013-4-24 10:45 5188

[求助]RtlInsertElementGenericTable 单核没事,双核CPU会出现死锁

2013-4-24 10:45
5188
RtlInsertElementGenericTable 单核没事,双核CPU会出现死锁。请问该如何解决。谢谢

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
2
http://msdn.microsoft.com/en-us/library/windows/hardware/ff553024%28v=vs.85%29.aspx

你的比较函数有问题或者忘了定义什么,参考MSDN~
2013-4-24 11:49
0
雪    币: 206
活跃值: (315)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是不死机了,但是不知道是那里写错了?
RTL_GENERIC_COMPARE_RESULTS
DelayedIrpTableCompare (
                                   IN PRTL_GENERIC_TABLE pTable,
                                   IN PVOID b1,
                                   IN PVOID b2
                                   )
{

        DELAYED_IRP_TABLE_ELEMENT *p1, *p2;
        KIRQL irql;
        RTL_GENERIC_COMPARE_RESULTS i;

       
        p1 = (DELAYED_IRP_TABLE_ELEMENT *)b1;
        p2 = (DELAYED_IRP_TABLE_ELEMENT *)b2;

        if (p1->ulId < p2->ulId)
                return GenericLessThan;
        else if (p1->ulId > p2->ulId)
                return GenericGreaterThan;
        else
                return GenericEqual;
       
        UNREFERENCED_PARAMETER( pTable );
        }
2013-4-24 13:53
0
雪    币: 581
活跃值: (149)
能力值: ( LV12,RANK:600 )
在线值:
发帖
回帖
粉丝
4
加锁了没?加了啥类型的锁?
2013-4-24 13:57
0
雪    币: 206
活跃值: (315)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
加自旋锁后就死机了~ 而且我把里面两个局部变量设置为全局后也会死机
2013-4-24 14:05
0
雪    币: 206
活跃值: (315)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
锁写错了,正在尝试ING...
先谢谢Sysnap大哥了,真心感谢。
2013-4-24 14:19
0
雪    币: 206
活跃值: (315)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
加上锁了,匹配函数中,我若直接返回个GenericGreaterThan就不死机
2013-4-24 15:15
0
雪    币: 206
活跃值: (315)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
但是驱动就出问题了。应该问题还是在匹配函数里。请专家指点~
2013-4-24 15:40
0
游客
登录 | 注册 方可回帖
返回
//