[so] [tema2] sincronizare gateway - client

Andrei Gheorghe andreig at gmail.com
Mon Apr 4 12:00:17 EEST 2011


2011/4/4 Bogdan Purcareata <bogdan.purcareata at gmail.com>:
>
> Clientul care trimite comanda exit nu termina instantaneu serverele si
> gateway-ul pornite din scriptul curent, ci declanseaza in ele o rutina de
> terminare, care include, printre altele, inchiderea cozilor de mesaje si a
> semafoarelor. Daca in aceasta perioada - de cand ultimul client a trimis
> comanda de exit si pana cand se incepe executia unui nou test - serverele si
> gateway-ul nu apuca sa inchida toate cozile si semafoarele, vor incepe alte
> servere si alt gateway care vor deschide cozi / semafoare cu acelasi nume.
>
> De exemplu, coada "gateway", folosita pentru comunicatia dintre clienti si
> gateway, are mereu acelasi nume. Sa presupunem ca un gateway nu apuca sa se
> termine si sa inchida coada pana cand un alt proces gateway a fost lansat in
> executie. Procesul nou gateway va incerca sa _creeze_ aceeasi coada, apel
> care va esua. Intre timp, se va termina procesul vechi gateway, care va
> distruge aceasta coada, iar mai apoi clientul va incerca sa scrie intr-o
> coada inexistenta.
>

Asta se intampla deja la mine, cum am zis si pe un thread separat.
Procesele server de la testul 1 imi raman "agatate" si astfel
procesele server de la testele urmatoare nu pot crea coada. Cu toate
astea, testele urmatoare imi trec, n-am avut cand sa investighez ce
procese fac decriptarile respective. Probabil voi implementa un caz
special, daca nu se poate crea coada atunci sa o refoloseasca, dar nu
mi se pare o abordare ok dpdv al codului.


More information about the so mailing list