[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