Kad msgrcv neizdosies?

Satura rādītājs:

Kad msgrcv neizdosies?
Kad msgrcv neizdosies?
Anonim

Funkcija msgrcv neizdosies, ja: [E2BIG] mtext vērtība ir lielāka par msgsz un (msgflg & MSG_NOERROR) ir 0. [EACCES]

Vai Msgrcv bloķē?

Funkcijas msgsnd un msgrcv var veikt kā bloķējošas vai nebloķējošas darbības. Nebloķējošās darbības ļauj veikt asinhronu ziņojumu pārsūtīšanu - process netiek apturēts ziņojuma nosūtīšanas vai saņemšanas rezultātā.

Vai msgrcv noņem ziņojumu no rindas?

Sistēmas izsaukums msgrcv noņem ziņojumu no msqid norādītās rindas un ievieto to buferī, uz kuru norāda msgp. Arguments msgsz norāda maksimālo lielumu baitos struktūras elementa mtekstam, uz kuru norāda arguments msgp.

Kā darbojas msgrcv?

Funkcija msgrcv nolasa ziņu no ziņojumu rindas, kas norādīta ar parametru msqid, un ievieto to lietotāja definētajā buferī, uz kuru norāda parametrs msgp. Parametrs msgp norāda uz lietotāja definētu buferi, kurā jāietver: Long int tipa lauks, kas norāda ziņojuma veidu.

Ko atgriež msgrcv?

RETURN VALUE

Pēc veiksmīgas pabeigšanas msgrcv atgriež vērtību, kas vienāda ar buferī faktiski ievietoto baitu skaitu mtext. Pretējā gadījumā ziņojums netiks saņemts, msgrcv atgriezīsies (ssize_t)-1 un tiks iestatīts errno, lai norādītu uz kļūdu.

Ieteicams: