[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