Kailan mabibigo ang msgrcv?

Talaan ng mga Nilalaman:

Kailan mabibigo ang msgrcv?
Kailan mabibigo ang msgrcv?
Anonim

Ang msgrcv function ay mabibigo kung: [E2BIG] Ang halaga ng mtext ay mas malaki kaysa sa msgsz at (msgflg & MSG_NOERROR) ay 0. [EACCES]

Naka-block ba ang Msgrcv?

Ang mga msgsnd at msgrcv function ay maaaring isagawa bilang alinman sa pagharang o hindi pag-block na mga operasyon. Binibigyang-daan ng mga hindi pag-block na operasyon ang asynchronous na paglipat ng mensahe -- hindi sinuspinde ang proseso bilang resulta ng pagpapadala o pagtanggap ng mensahe.

Tinatanggal ba ng msgrcv ang mensahe sa queue?

Ang msgrcv system call ay nag-aalis ng mensahe mula sa queue na tinukoy ng msqid at inilalagay ito sa buffer na itinuro ng msgp. Tinukoy ng argument msgsz ang maximum na laki sa bytes para sa mtext ng miyembro ng istraktura na itinuro ng argumento ng msgp.

Paano gumagana ang msgrcv?

Ang msgrcv function ay nagbabasa ng isang mensahe mula sa message queue na tinukoy ng msqid parameter at inilalagay ito sa user-defined buffer na itinuro ng msgp parameter. Ang msgp parameter ay tumuturo sa isang buffer na tinukoy ng user na dapat maglaman ng mga sumusunod: Isang field na may uri na long int na tumutukoy sa uri ng mensahe.

Ano ang ibinabalik ng msgrcv?

RETURN VALUE

Sa matagumpay na pagkumpleto, ibinabalik ng msgrcv ang isang value na katumbas ng bilang ng mga byte na aktwal na inilagay sa buffer mtext. Kung hindi, walang matatanggap na mensahe, babalik ang msgrcv (ssize_t)-1 at itatakda ang errno upang ipahiwatig ang error.

Inirerekumendang: