La funció msgrcv fallarà si: [E2BIG] El valor de mtext és més gran que msgsz i (msgflg i MSG_NOERROR) és 0. [EACCES]
Msgrcv bloqueja?
Les funcions msgsnd i msgrcv poden realitzar-se com a operacions de bloqueig o sense bloqueig. Les operacions sense bloqueig permeten la transferència de missatges de manera asíncrona; el procés no se suspèn com a resultat d'enviar o rebre un missatge.
El msgrcv elimina el missatge de la cua?
La trucada al sistema msgrcv elimina un missatge de la cua especificada per msqid i el col·loca a la memòria intermèdia assenyalada per msgp. L'argument msgsz especifica la mida màxima en bytes per al text mtext membre de l'estructura apuntada per l'argument msgp.
Com funciona msgrcv?
La funció msgrcv llegeix un missatge de la cua de missatges especificada pel paràmetre msqid i el col·loca a la memòria intermèdia definida per l'usuari indicada pel paràmetre msgp. El paràmetre msgp apunta a un buffer definit per l'usuari que ha de contenir el següent: Un camp de tipus long int que especifica el tipus de missatge.
Què retorna msgrcv?
VALOR DE RETORN
Un cop finalitzat correctament, msgrcv retorna un valor igual al nombre de bytes realment col·locats a la memòria intermèdia mtext. En cas contrari, no es rebrà cap missatge, msgrcv tornarà (size_t)-1 i s'establirà errno per indicar l'error.