阅读:1124回复:8
当驱动遭遇超时
在windows和linux下:
当某个操作超时,将作如何处理? 如何妥当的善后呢? 1。杀死/挂起超时线程, 2。不杀死/挂起超时线程, 请大虾做个选择! |
|
沙发#
发布于:2002-11-25 09:51
不理解。无法选择。呵呵。
驱动?线程? |
|
板凳#
发布于:2002-11-25 10:08
驱动程序中好像也有线程的概念啊啊。
不过与用户态线程不一样。 改个说法吧,比如某个函数执行的时间过长,已经超时, 然后应该咋办? |
|
地板#
发布于:2002-11-25 10:19
kill了。别犹豫
|
|
地下室#
发布于:2002-11-25 10:40
用什么方法函数kill呢?
好像会有后遗症,是否不够温柔呢? 比如造成一些非法数据,导致某些用户态或核心态线程空等结果呢? 希望谈一谈经验。谢了! |
|
5楼#
发布于:2002-11-25 11:20
一般内核里的代码非常讲究效率。
拿中断来说,中断产生,处理数据,就算没处理完,也不去处理了。其余的扔掉。 因此你的函数不能有超时,更不能超时等待。执行到哪里就到哪里。 你说的是那类设备?比如什么情况超时? |
|
6楼#
发布于:2002-11-25 11:25
老大真有你的!可惜我分数已经给完了,否则要多
给几分! 我只是假设有这种情况而已啊! |
|
7楼#
发布于:2002-11-25 11:51
分不是重要的。呵呵。
中断里的上下半部就是这个原因。 |
|
8楼#
发布于:2002-11-25 11:55
深刻!
|
|