<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div>Vreau sa fac si eu o coada non-blocanta, astfel incat, cand fac un receive sa nu se blocheze executia ci sa sara mai departe pana cand primeste ceva. Am facut asa:</div><div><br></div><div>message_t *buf = (message_t*) calloc (1, sizeof(message_t));<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; mqd_t q;<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; struct mq_attr attr;<br>&nbsp;&nbsp;&nbsp; attr.mq_flags = O_NONBLOCK;<br>&nbsp;&nbsp;&nbsp; attr.mq_maxmsg = 10;<br>&nbsp;&nbsp;&nbsp; attr.mq_msgsize = sizeof(message_t);<br>&nbsp;&nbsp;&nbsp; attr.mq_curmsgs = 0;<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; q = mq_open("/gateway", O_CREAT | O_RDWR, 0644, &amp;attr);<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; while(1)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; rc = mq_receive(q, (char *)buf, sizeof(message_t),
 NULL);</div><div><br></div><div>In while, daca rc != -1 afisez datele din mesaj altfel un mesaj oarecare. Problema este ca coada se blocheaza. Poate sa-mi zici si mie cineva de ce coada mea este blocanta totusi? Afisam mesaj imediat dupa receive si nu ajungea acolo.<br></div></div></body></html>