<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman,new york,times,serif;font-size:12pt"><br>Pai Bogdan puteam sa citesc documentatia in lung si in lat. Crezi ca nu stiam ce inseamna campul ala pana sa-mi dai tu textul din documentatie ? Pe coada se comunica cu mesaje de tip Command si era normal ca aia sa fie dimensiunea maxima a mesajului. Cand facea gateway-ul coada, o facea cu sizeof(Command) (cum am si aratat) si totul mergea perfect, inclusiv testele voastre toate 9 (cand nu venea clientul sa strice treaba). De unde sa stiu eu ca voi in client faceati coada cu alta dimensiune a mesajului ? Cred ca ar fi trebuit sa-mi spuneti voi asta ca doar am vb de problema asta cam toata ziua dar pana la urma tot singur a trebuit sa-mi dau seama. Am postat mai devreme si cum faceam coada si modul in care citeam din ea si nici tu nu ti-ai dat seama ca o faceam gresit, desi stii ce se intampla
in sursa clientului. Daca era asa de simplu ca era suficient sa citesc documentatia inainte sa postez tu de ce n-ai vazut problema ? Nu asta e scopul vostru, sa ne aratati greselile si sa ne indreptati in directia buna ? Pana la urma este normal ca eu sa fac tampenii ca sunt in procesul de invatare, sa le postez (ca asta e scopul listei de discutii) si voi sa-mi aratati unde gresesc, ca daca le stiam pe toate lista asta nu-si mai avea rostul si eu nu mai aveam ce sa invat de la voi, nu ?<br><div> </div>Alex<div><br></div><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><br><div style="font-family:arial, helvetica, sans-serif;font-size:13px"><font size="2" face="Tahoma"><hr size="1"><b><span style="font-weight: bold;">From:</span></b> Drutu Bogdan <bogdandrutu@gmail.com><br><b><span style="font-weight: bold;">To:</span></b> Sisteme de Operare <so@cursuri.cs.pub.ro><br><b><span style="font-weight:
bold;">Sent:</span></b> Thu, April 7, 2011 10:28:57 PM<br><b><span style="font-weight: bold;">Subject:</span></b> Re: [so] [tema2][linux]problema sincronizare client-gateway<br></font><br>
2011/4/7 Alex Gorunescu <<a ymailto="mailto:algorunescu@yahoo.com" href="mailto:algorunescu@yahoo.com">algorunescu@yahoo.com</a>>:<br>> Hai ca dupa inca o repriza de injuraturi am rezolvat singur problema. Era<br>> una simpla ca majoritatea bugurilor scarboase.<br>><br>> before:<br>><br>> rez = mq_receive(q_gateway, (char*)&c, sizeof(Command), &prio);<br>><br>> now:<br>><br>> struct mq_attr attr;<br>> mq_getattr(q_gateway,&attr);<br>> rez = mq_receive(q_gateway, (char*)&c, attr.mq_msgsize, &prio);<br>><br>> Acum merge si cand face clientul coada.<br>><br>> Alex.<br><br>Cred ca ar fi bine ca inainte de a posta un mesaj de genul sa se<br>citeasca documentatia.<br>[1] "The msg_len argument specifies the size of the buffer pointed to<br>by msg_ptr; this must be greater than the mq_msgsize attribute of the<br>queue (see mq_getattr(3)). If prio is not NULL, then the buffer to<br>which it
points is used to return the priority associated with the<br>received message. "<br>><br>> _______________________________________________<br><span>> <a target="_blank" href="http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii">http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii</a></span><br>><br><br><span>[1]<a target="_blank" href="http://linux.die.net/man/3/mq_receive">http://linux.die.net/man/3/mq_receive</a></span><br><br>-- <br>Bogdan.<br>_______________________________________________<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><br></div></div>
</div></body></html>