Повто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)