Când va eșua msgrcv?

Când va eșua msgrcv?
Când va eșua msgrcv?
Anonim

Funcția msgrcv va eșua dacă: [E2BIG] Valoarea mtext este mai mare decât msgsz și (msgflg & MSG_NOERROR) este 0. [EACCES]

Msgrcv blochează?

Funcțiile msgsnd și msgrcv pot fi efectuate fie ca operațiuni de blocare, fie ca operațiuni neblocante. Operațiunile fără blocare permit transferul asincron al mesajelor -- procesul nu este suspendat ca urmare a trimiterii sau primirii unui mesaj.

Msgrcv elimină mesajul din coadă?

Apelul de sistem msgrcv elimină un mesaj din coada specificată de msqid și îl plasează în memoria tampon indicată de msgp. Argumentul msgsz specifică dimensiunea maximă în octeți pentru textul membru al structurii indicat de argumentul msgp.

Cum funcționează msgrcv?

Funcția msgrcv citește un mesaj din coada de mesaje specificată de parametrul msqid și îl plasează în buffer-ul definit de utilizator indicat de parametrul msgp. Parametrul msgp indică un buffer definit de utilizator care trebuie să conțină următoarele: Un câmp de tip long int care specifică tipul mesajului.

Ce returnează msgrcv?

VALOARE RETURNĂ

La finalizarea cu succes, msgrcv returnează o valoare egală cu numărul de octeți plasați efectiv în tamponul mtext. În caz contrar, nu va fi primit niciun mesaj, msgrcv va reveni (size_t)-1 și errno va fi setat pentru a indica eroarea.

Recomandat: