Funksioni msgrcv do të dështojë nëse: [E2BIG] Vlera e mtext është më e madhe se msgsz dhe (msgflg & MSG_NOERROR) është 0. [EACCES]
A bllokon Msgrcv?
Funksionet msgsnd dhe msgrcv mund të kryhen si operacione bllokuese ose jobllokuese. Operacionet jo-bllokuese lejojnë transferimin asinkron të mesazheve -- procesi nuk pezullohet si rezultat i dërgimit ose marrjes së një mesazhi.
A e heq msgrcv mesazhin nga radha?
Thirrja e sistemit msgrcv heq një mesazh nga radha e specifikuar me msqid dhe e vendos atë në buferin e treguar nga msgp. Argumenti msgsz specifikon madhësinë maksimale në bajt për mtekstin e anëtarit të strukturës të treguar nga argumenti msgp.
Si funksionon msgrcv?
Funksioni msgrcv lexon një mesazh nga radha e mesazheve e specifikuar nga parametri msqid dhe e vendos atë në buferin e përcaktuar nga përdoruesi të treguar nga parametri msgp. Parametri msgp tregon një buffer të përcaktuar nga përdoruesi që duhet të përmbajë sa vijon: Një fushë e tipit long int që specifikon llojin e mesazhit.
Çfarë kthen msgrcv?
RETURN VALUE
Pas përfundimit të suksesshëm, msgrcv kthen një vlerë të barabartë me numrin e bajteve të vendosura në të vërtetë në mtekstin e buferit. Përndryshe, asnjë mesazh nuk do të merret, msgrcv do të kthehet (ssize_t)-1 dhe errno do të vendoset për të treguar gabimin.