Повтоpное занятие spin lock
- From
- Eugene Muzychenko (2:5000/14)
- To
- Yury Haron ()
- Date
- 2003-04-17T17:11:10Z
- Area
- SU.WINDOWS.NT.PROG
Привет!
17 Apr 03 12:06, you wrote to me:
YH> Ты yходишь на Dpc и захватываешь спинлок. В момент захвата пpоходит
YH> ISR в котоpом пpоисходит (до понижения) "защищённый" (сpедствами SEH)
YH> pf.
PF в ISR? Это что за шутки такие? ;)
When an NT driver routine holds a spin lock, it cannot cause a hardware exception or raise a software exception without bringing down the system. In other words, an NT driver's ISR and any SynchCritSection routine that the driver supplies in a call to KeSynchronizeExecution must not cause a fault or trap, such as a page fault or an arithmetic exception, and cannot raise a software exception. A routine that calls KeAcquireSpinLock also cannot cause a hardware exception or raise a software exception until it has released its executive spin lock and is no longer running at IRQL DISPATCH_LEVEL.
YH> Там бyдет вызов KfRaise на ApcLevel. Независимо от того какой был
YH> current.
Что-то я сильно сомневаюсь, что в системе много лет существует такая дыра :) Хотя бы потому, что в Checked Build это должно весьма регулярно валиться на BugCheck. Ты уверен, что ничего не путаешь? ;)
И даже если оно и так - это не мои глюки, а системные :) Кому не нравится - нехай жалуются в MS, а те пусть исправляют :) А то при сложившейся системе все исправлять самостоятельно MS о половине своих глюков просто не догадывается :)
Всего доброго!
Евгений Музыченко
--- GoldED+/W32 1.1.4.7
* Origin: Fox Tracks, Novosibirsk, Russia (2:5000/14)