<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">daca esti pe windows, si semaforul trebuie creat si deschis din procese diferite. same thing.<br><br>--- On <b>Thu, 7/4/11, Virgil Zamfirache <i><virgil.zamfirache@gmail.com></i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: Virgil Zamfirache <virgil.zamfirache@gmail.com><br>Subject: Re: [so] [tema2][linux]problema sincronizare client-gateway<br>To: "Sisteme de Operare" <so@cursuri.cs.pub.ro><br>Date: Thursday, 7 April, 2011, 13:00<br><br><div id="yiv1323466196">Salut,<br><br>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.<br>
<br>Virgil.<br><br><div class="yiv1323466196gmail_quote">2011/4/7 Alex Gorunescu <span dir="ltr"><<a rel="nofollow" ymailto="mailto:algorunescu@yahoo.com" target="_blank" href="/mc/compose?to=algorunescu@yahoo.com">algorunescu@yahoo.com</a>></span><br><blockquote class="yiv1323466196gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br>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.<br>
Acum intrebarea este, fac eu ceva gresit de apare problema asta ?<br><font color="#888888"><br>Alex<br></font></div></div><br>_______________________________________________<br>
<a rel="nofollow" target="_blank" href="http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii">http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii</a><br></blockquote></div><br>
</div><br>-----Inline Attachment Follows-----<br><br><div class="plainMail">_______________________________________________<br><a href="http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii" target="_blank">http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii</a></div></blockquote></td></tr></table>