Next: Egy STREAMS loopback
Up: A STREAMS driverek
Previous: Egy egyszeru debug
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 :
- FLUSHR : A read queuet kell üríteni.
- FLUSHW : A write queuet kell üríteni.
- FLUSHRW : Mind a read, mind a write queuet üríteni kell.
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