[so] [tema2][linux]problema sincronizare client-gateway

Alex Gorunescu algorunescu at yahoo.com
Thu Apr 7 12:51:06 EEST 2011


Cred ca este o problema cu sincronizarea client-server. Sau absenta ei. Problema 
este urmatoarea. De vreo doua zile ma tot chinui sa-mi dau seama de ce imi pica 
random legatura dintre client si gateway. Mai precis acelasi test (oricare) rula 
de 3-4 ori bine, dupa care gateway-ul dadea eroare citire din coada cand pornea, 
iar mergea de cateva ori bine, iar o lua razna. Asa ca, dupa multe incercari de 
tot felul, mi-a trecut prin cap sa bag un unlink la coada gateway inainte s-o 
creez sa vad ce se intampla. Comportamentul s-a schimbat. Acum ramanea blocat pe 
receive. Atunci mi-a picat fisa. Clientul si gateway-ul folosesc aceeasi resursa 
(coada) dar fara vreun fel de sincronizare intre ele. Voi in teste rulati 
clientul imediat dupa gateway. Ca urmare uneori clientul ajunge la coada inainte 
sa o creeze gateway-ul si o creeaza el.  Ca urmare uneori apuca gateway-ul s-o 
creeze si totul mergea perfect, alteori o creea clientul si totul o lua razna. 
Nu stiu cum o creeaza clientul dar gateway-ul meu da eroare cand incerca sa 
citeasca din ea. Daca pun unlink la inceput, atunci clientul face coada, pune 
mesajul in ea, gateway-ul ajunge si el la punctul magic, o sterge si o recreeaza 
si dupa sta ca prostul sa astepte un mesaj care nu va mai veni niciodata. Ca sa 
rezolv problema cu toate testele am pus un sleep de o secunda in teste intre 
rularea gateway-ului si a clientului si totul a inceput sa mearga cum trebuie. 
Am rulat toate cele 9 teste de mai multe ori la rand si nu s-a mai blocat 
niciodata.
Acum intrebarea este, fac eu ceva gresit de apare problema asta ?

Alex
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20110407/52922964/attachment.htm>


More information about the so mailing list