2012/4/2 Mihail Costea <[email protected]>: > Salut, > > Daca pornesc gateway-ul inainte de client totul e bine si frumos. Merge > totul perfect si imi trec si testele (serverele nu conteaza cand pornesc). > Dar daca pornesc client-ul inainte de gateway s-a stricat tot. > > Care e problema: din ce am observat eu coada "gateway" creata de Gataway are > dimensiunea 0 si mesajele se trimit cum trebuie. Daca mai intai porneste > clientul atunci va avea dimensiunea 46, cum e de asteptat (s-a trimis un > mesaj). Eu la mq_open la Gateway dau attr cu urmatoarele valori: > attr.mq_flags = 0; > attr.mq_maxmsg = 10; > attr.mq_msgsize = sizeof(message_t); > attr.mq_curmsgs = 0; > > Deci ar trebui sa o creez cu mq_curmsgs = 1 si nu 0, ceea ce nu o sa pot > face decat daca stau si ma uit daca exista clienti deja. Pot sa dau msg_get, > dar at ce fac daca porneste mai intai Gateway-ul? > Cum rezolv problema asta, ca eu unul am pierdut deja mult prea mult timp cu > chestia asta. >
Salut, Mihai! Ai putea încerca să creezi coada cu atributele pe care le dai tu, dar doar dacă nu există deja (Hint: man mq_open, O_EXCL). În caz că există, pur și simplu doar o deschizi, fără să specifici atributele. -- Răzvan Crainea _______________________________________________ http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
