[pso] [Tema2Win] DPC intrerupt

Irina Tirdea ynuka13 at gmail.com
Sat Apr 19 15:14:30 EEST 2008


Daca DPC-ul ruleaza deja, atunci nu sunt probleme; inainte de a rula dpc-ul,
mai intai se scoate din coada obiectul dpc si apoi se ruleaza rutina
corespunzatoare [1]. Totusi, o a doua intrerupere poata sa apara inainte de
scoaterea dpc-ului din coada (doua intreruperi aproape consecutive) si
atunci, intr-adevar, pierzi o executie DPC. Pentru a rezolva problema asta,
ori te asiguri ca nu poti avea doua adaugari in coada succesive inainte de o
extragere, ori folosesti un mecanism intern pentru a putea trata toate
adaugarile precedente la o singura extragere (coada de irp-uri) [2].

Irina

[1] http://cs.pub.ro/~pso/lxr/source/base/ntos/ke/dpcsup.c?v=wrk-1.2#124
[2] http://msdn2.microsoft.com/en-us/library/ms795116.aspx


-----Original Message-----
From: pso-bounces at cursuri.cs.pub.ro [mailto:pso-bounces at cursuri.cs.pub.ro]
On Behalf Of Cristian Gratie
Sent: Friday, 18 April, 2008 02:10
To: pso at cs.pub.ro
Subject: [pso] [Tema2Win] DPC intrerupt

Daca se incearca adaugarea in coada de DPC-uri a unuia care se afla deja
acolo, adaugarea nu mai are loc. Ce se intampla totusi daca adaugarea asta
se incearca intr-o intrerupere care a preemptat tocmai DPC-ul care se afla
in coada? Daca DPC-ul preemptat este considerat ca facand inca parte din
coada, se va pierde practic o executie a rutinei DPC... asa se intampla in
practica?

Cristi Gratie,
341 C4





More information about the pso mailing list