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

Virgil Zamfirache virgil.zamfirache at gmail.com
Thu Apr 7 13:00:49 EEST 2011


Salut,

Si eu cred ca exista problema aceasta la client. Oricum un sleep repara doar
teoretic problema pentru ca nu se stie cum sunt programati clientii /
gateway-ul pe procesor pentru rulare. Din punctul meu de vedere, corect ar
fi fost sa se fi folosit un semafor gateway-client prin care gateway-ul sa
semnaleze crearea cozii de mesaje si sa poata porni executia efectiv
executia unui clientul care la randul lui elibera urmatorul client s.a.m.d.
Poate totusi se modifica testele cu un eventual sleep cum ai mentionat.

Virgil.

2011/4/7 Alex Gorunescu <algorunescu at yahoo.com>

>
> 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
>
> _______________________________________________
> http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20110407/88ea510f/attachment.htm>


More information about the so mailing list