[so] [TEMA2][WIN]Blocare gateway

Andreea Hodea hodea_andreea at yahoo.com
Thu Apr 5 18:14:30 EEST 2012


Functia cleanup apeleaza msgq_destroy(gateway), iar receive apeleaza msgq_recv(gateway, &msg) si intoarce 0 cand campul nume e "exit". Daca mut "Command msg" in receive, procesul se termina dupa ce primeste exact 6 mesaje de exit (nu stiu de ce 6, dar am rulat de mai multe ori si mereu numai dupa ce receptioneaza 6 mesaje, desi din client trebuie sa trimit mai multe ca el sa primeasca 6).

Nu pornesc niciun server, nu folosesc semafoare, nici memorie partajata. Vreau numai sa testez ca "./client exit exit -1" merge. Anyone? Any advice?

--- On Thu, 4/5/12, Andreea Hodea <hodea_andreea at yahoo.com> wrote:

> 
> De ore intregi fac teste fara succes, mi-e imposibil sa vad
> bugul. Daca rulez main-ul de mai jos, gateway-ul ajunge sa
> afiseze finished, dar procesul nu se termina:
> int main() {
>     /* Message queue for communication with
> clients. */
>     msgq_t gateway;
>     Command msg;
>     
>     gateway = init();
> 
>     do {
>         memset(&msg, 0,
> sizeof(msg));       
>     
>     }while (receive(gateway, &msg));
>     
>     cleanup(gateway);
> 
>     dprintf("[GW]finished\n");
>     fflush(stdout);
>     
>     return EXIT_SUCCESS;
> }
> 
> Procesul nu creeaza alte procese, doar apeleaza functiile
> pentru cozi din laboratorul 5. Are cineva vreo sugestie?
> 
> Multumesc,
> Andreea



More information about the so mailing list