[so] Coada non-blocanta
Razvan Crainea
razvan.crainea at gmail.com
Tue Apr 3 21:55:52 EEST 2012
2012/4/3 Stanciu Alexandru <the_marian_2006 at yahoo.com>:
>
> Deci daca fac combinatiile:
> 1. attr.mq_msgsize = sizeof(message_t) + 1 cu rc = mq_receive(q, (char
> *)buf, sizeof(message_t), NULL); imi executa tot ce se afla sub
> receive(coada este neblocanta) dar cand trimit ceva pe coada de la client nu
> receptioneaza(se blocheaza)
> 2. attr.mq_msgsize = sizeof(message_t) cu rc = mq_receive(q, (char *)buf,
> sizeof(message_t) + 1, NULL); coada este blocanta; pana cand nu trimit ceva
> pe coada, nu se executa nimic dupa receive
> 3. attr.mq_msgsize = sizeof(message_t) cu rc = mq_receive(q, (char *)buf,
> sizeof(message_t), NULL); ca la 2
>
> Declar coada ca fiind neblocanta; poate sa-mi zica si mie cineva unde
> gresesc?(sterg toate cozile create)
>
Salut, Alexandru!
Clientul încearcă și el să creeze coada blocant, dacă aceasta nu
există. Înainte de receive, apelează un mq_getattr și verifică dacă
flag-ul O_NONBLOCK este în continuare setat.
--
Răzvan Crainea
More information about the so
mailing list