On 6/28/05, Anze <[EMAIL PROTECTED]> wrote:
> Kakorkoli ze danes sem tudi branje resil s pomocjo threada, ki neprestano
> preverja, ce je kaj na vratih.

Kako pa preverja? Ce bere znak po znak, bos imel tezave z izgubljanjem znakov
(baje - to sem zasledil na newsgroupih, nisem sam testiral).

Kakor receno, izvede ioctl klic, ki mu vrne, koliko znakov je na vratih na voljo. Zaenkrat se mi se ni zalomilo, da bi napacne podatke prebral ali pa karkoli celo zgresil. Ce sistemski klic vrne niclo, potem ne berem nicesar, sicer pa preberem celoten vhod.

Mogoce si si malo zakompliciral zivljenje. Vse bi lahko delal v eni niti (no,
razen ce imas loceno nit se za UI). Ko poklices read_next_line(), ti lahko ta
funkcija sprozi canonical read s timeoutom, in ce ne dobis nic pametnega
nazaj v nekaj sekundah, lahko predvidevas, da je z masino nekaj narobe, in
vrnes primerno vrednost (error).

Bom pogledal, kako tale timeout noter vkljuciti. Samo ne smem govoriti o sekundah, ker read ne sme toliko casa blokirati! Konec koncev, ideja je v tem, da lahko z enoto sledis premikajocim se predmotom (nanjo je montirana kamerca), tako da branje niti ni tako potrebno. Vsekakor pa moras imeti moznost, da ugotovis, da je enota prisla v maksimalno pozicijo. To bos sicer ze ugotovil, ko bo kamera ugotovila, da predmetu ne more vec sledit; takrat pa lahko enoto povprasas, kako je kaj z njo :)

No, vazno, da si usposobil. :)

Se strinjam; gotovo ni moja resitev optimalna, ampak deluje ravno tako, kot sem si zelel.

lp,
Gregor


_______________________________________________
lugos-prog mailing list
[email protected]
http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-prog

Reply via email to