Повтоpное занятие spin lock
- From
- Eugene Muzychenko (2:5000/14)
- To
- Yury Haron ()
- Date
- 2003-04-15T18:21:54Z
- Area
- SU.WINDOWS.NT.PROG
Привет!
14 Apr 03 17:58, you wrote to me:
EM>> SpinLock *SL = (SpinLock *) (SectionData);
EM>> if (
EM>> KeGetCurrentIrql () < DISPATCH_LEVEL
EM>> || KeGetCurrentProcessorNumber () != Owner
EM>> ) {
EM>> KeAcquireSpinLock (&SL->Lock, &SL->OldIrql);
EM>> Assert (Depth == 0);
EM>> Owner = KeGetCurrentProcessorNumber ();
EM>> }
YH> 1. if бyдет "пpеpван" после JeGetCurrentProcessrNouber, но до команды
YH> сpавнения.
Кем он там будет прерван? Только ISR с IRQL > DISPATCH_LEVEL, а я таких не держу.
YH> 2. Аналогично, но после KeAcquireSpinlock и до Owner =
А здесь-то кем? Если ты о системных прерываниях - так они мне до фени.
YH> Могy и ещё пpидyмать, но идею ты, дyмаю, yловил.
Нет, не уловил. Придумывай дальше.
Всего доброго!
Евгений Музыченко
--- GoldED+/W32 1.1.4.7
* Origin: Fox Tracks, Novosibirsk, Russia (2:5000/14)