On Tue, 2003-02-11 at 09:10, Dorin Lazar wrote: > On Monday 10 February 2003 23:33, Florin Malita wrote: > > O_NONBLOCK nu e necesar. > Si totusi... > La nivel absurd, un alt read(2) din alt thread ar putea sa citeasca > din descriptorul respectiv. De exemplu select-ia se face pe un > filedescriptor care e citit in alt fir. (caz absurd, greseala majora de > programare dar se poate :) ). Avea si Mihai dreptatea lui... :)
Da. Dar asta tine, asa cum spui, de programare eronata. Este ca si cum intre select() si read() as avea instructiuni suplimentare care se pot atinge de soket/file. E la fel de grav. Daca ai nevoie sa te atingi de un fd in 2 thread-uri separate, le poti proteja printr-un mutex; in felul asta, intre select() si read(), cat timp mutex-ul e obtinut, si daca ai avut grija ca in celelalte thread-uri sa nu te atingi de fd fara sa detii mutex-ul, stii ca nu s-a schimbat aiurea starea fd-ului. georgeb -- George Barbarosie <[EMAIL PROTECTED]> intelinet.ro SRL -- Pentru dezabonare, trimiteti mail la [EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'. REGULI, arhive si alte informatii: http://www.lug.ro/mlist/
