Ce res uporabljas blocking read, ti be read blokiral, dokler ne dobi EOL znaka
(ker imas canonical branje). Pri non-canonical ti bo blokiral, dokler ne
prebere N znakov.
Canonical branje je uporabno samo v primeru, da tvoja enota vraca neke znake,
ki se zakljucijo z newline znakom. Ce temu ni tako, tega ne mores
uporabljati.
Res uporabljam blocking in canonical (enota mi vsak niz zakljuci z NL-jem). Verjetno blocking ni najboljsa resitev, vendar moram imeti moznost, da uporabnik izrecno zahteva zadnji vrnjeni niz (odgovor na zadnjo komando). To pa mi nekako ni bilo jasno, kako bi resil s pomocjo non-blocking (verjetno se samo nisem dovolj poglobil... verjetno bi bilo dovolj brati v en buffer in...)
Kakorkoli ze danes sem tudi branje resil s pomocjo threada, ki neprestano preverja, ce je kaj na vratih. Sedaj lahko enoto poljubno posiljam naokoli in sprejemam njene odgovore; mutexi in cond spremenljivke pa mi zagotavljajo, da dobim odgovor na tisto, kar sem zahteval.
lp,
Gregor
_______________________________________________ lugos-prog mailing list [email protected] http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-prog
