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

Alex Gorunescu algorunescu at yahoo.com
Thu Apr 7 23:16:30 EEST 2011


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 ?

 Alex




________________________________
From: Drutu Bogdan <bogdandrutu at gmail.com>
To: Sisteme de Operare <so at cursuri.cs.pub.ro>
Sent: Thu, April 7, 2011 10:28:57 PM
Subject: Re: [so] [tema2][linux]problema sincronizare client-gateway

2011/4/7 Alex Gorunescu <algorunescu at yahoo.com>:
> Hai ca dupa inca o repriza de injuraturi am rezolvat singur problema. Era
> una simpla ca majoritatea bugurilor scarboase.
>
> before:
>
> rez = mq_receive(q_gateway, (char*)&c, sizeof(Command), &prio);
>
> now:
>
> struct mq_attr attr;
> mq_getattr(q_gateway,&attr);
> rez = mq_receive(q_gateway, (char*)&c, attr.mq_msgsize, &prio);
>
> Acum merge si cand face clientul coada.
>
> Alex.

Cred ca ar fi bine ca inainte de a posta un mesaj de genul sa se
citeasca documentatia.
[1] "The msg_len argument specifies the size of the buffer pointed to
by msg_ptr; this must be greater than the mq_msgsize attribute of the
queue (see mq_getattr(3)). If prio is not NULL, then the buffer to
which it points is used to return the priority associated with the
received message. "
>
> _______________________________________________
> http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
>

[1]http://linux.die.net/man/3/mq_receive

-- 
Bogdan.
_______________________________________________
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/c41a3bff/attachment.htm>


More information about the so mailing list