[so] [Tema 2 Linux] Checker

Bogdan Stirbat bogdan.stirbat at gmail.com
Wed Mar 28 02:26:17 EEST 2012


Buna seara,


    Am o problema cu checker-ul de pe Linux. De cele mai multe ori se
blocheaza, alteori se blocheaza dupa ce a rulat cateva teste. Cel putin o
data, checker-ul a rulat toate testele fara sa se blocheze.  Uneori
afiseaza mesajul "(client.c, 104): mq_open: Cannot allocate memory".
Inainte de a rula checkerul, sterg orice resurse partajate pe care le-ar
putea folosi checker-ul (/mnt/cozi/gateway etc).

   Am rulat fiecare test separat, si fie se blocheaza checkerul, fie testul
respectiv se termina cu succes. Am testat mecanismul de decriptare si
manual. Am pornit pe rand: serverul (toate cele 4 instante), gateway-ul, si
clientul de mai multe ori (ultima rulare a clientului a fost: ./client exit
exit -1). Dupa ce fiecare proces din acest mecanism se termina, toate
resursele partajate (semafoare, cozi de mesaje) sunt eliberate.

   Presupun ca checkerul se blocheaza din cauza comunicatiei pe coada de
mesaje "gateway". Am scris gateway-ul considerand ca trebuie sa creeze
coada "gateway", si la sfarsit s-o distruga. Daca gateway-ul o deschide,
dimensiunea fiecarui mesaj este sizeof(message_t). Am luat in calcul si
situatia in care clientul creaza coada "gateway", caz in care dimensiunea
unui mesaj ar fi mult mai mare. Am tratat acest caz atunci cand gateway-ul
primeste un mesaj de la client (in acest caz, mesajul trebuie primit
intr-un buffer mai mare). Dar n-am scapat de problema.

  Imi puteti da, va rog, un hint?


Multumesc,
    Bogdan Stirbat
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20120328/ae310a30/attachment.html>


More information about the so mailing list