next up previous contents
Next: Egy STREAMS loopback Up: A STREAMS driverek Previous: Egy egyszeru debug

Flush kezelése a driverben

Az M_FLUSH üzenetet minden olyan STREAMS modulnak és drivernek kezelnie kell, amely service rutint használ. Az ilyen típusú üzenetek indulhatnak a stream-fejtol, valamelyik modultól vagy a drivertol. Az üzenethez tartozó adatblokk elso byteja a következo értékeket tartalmazhatja :

A driverekben az M_FLUSH üzenetek továbbítására a következo szabályok vonatkoznak: ha egy M_FLUSH üzenet ér a driverhez, és csak a FLUSHW flag van beállítva, akkor a driver eldobhatja az üzenetet. Ha pedig az üzenetben be van állítva az, hogy a read queuet üríteni kell, akkor a drivernek törölnie kell azt a részt, amely arra utal, hogy a read queuet üríteni kell, és így kell visszaküldeni az üzenetet a read queuera. A stream-fejnél minden pontosan az ellenkezoképpen történik: ha a read queuen fölfelé olyan M_FLUSH üzenet érkezik, melyben csak a FLUSHR flag van beállítva, akkor a stream-fej eldobja az üzenetet. Ha pedig az üzenet arra utal, hogy a write queuet üríteni kell, akkor az erre utaló flag törölve lesz, és a stream-fej az üzenetet visszaküldi a write queuen.



Csizmazia Balazs
Tue Apr 2 00:06:27 MET DST 1996