Funkcija msgrcv ne bo uspela, če: [E2BIG] Vrednost mtext je večja od msgsz in (msgflg & MSG_NOERROR) je 0. [VSTOP
Ali Msgrcv blokira?
Funkcije msgsnd in msgrcv je mogoče izvajati kot blokiranje ali neblokiranje. Neblokirne operacije omogočajo asinhroni prenos sporočil – proces ni začasno ustavljen zaradi pošiljanja ali prejema sporočila.
Ali msgrcv odstrani sporočilo iz čakalne vrste?
Sistemski klic msgrcv odstrani sporočilo iz čakalne vrste, ki jo poda msqid, in ga postavi v medpomnilnik, na katerega kaže msgp. Argument msgsz določa največjo velikost v bajtih za član mtext strukture, na katero kaže argument msgp.
Kako deluje msgrcv?
Funkcija msgrcv prebere sporočilo iz čakalne vrste sporočil, določene s parametrom msqid, in ga postavi v uporabniško definiran medpomnilnik, na katerega kaže parameter msgp. Parameter msgp kaže na uporabniško definiran medpomnilnik, ki mora vsebovati naslednje: Polje vrste long int, ki določa vrsto sporočila.
Kaj vrne msgrcv?
POVRATNA VREDNOST
Po uspešnem zaključku msgrcv vrne vrednost, ki je enaka številu bajtov, ki so dejansko vstavljeni v medpomnilnik mtext. V nasprotnem primeru ne bo prejeto nobeno sporočilo, msgrcv bo vrnil (size_t)-1 in errno bo nastavljen tako, da označuje napako.