Hvornår mislykkes msgrcv?

Indholdsfortegnelse:

Hvornår mislykkes msgrcv?
Hvornår mislykkes msgrcv?
Anonim

msgrcv-funktionen mislykkes, hvis: [E2BIG] Værdien af mtext er større end msgsz og (msgflg & MSG_NOERROR) er 0. [EACCES]

Blokerer Msgrcv?

funktionerne msgsnd og msgrcv kan udføres som enten blokerende eller ikke-blokerende operationer. Ikke-blokerende handlinger giver mulighed for asynkron meddelelsesoverførsel -- processen er ikke suspenderet som følge af afsendelse eller modtagelse af en meddelelse.

Fjerner msgrcv beskeden fra køen?

msgrcv-systemkaldet fjerner en besked fra køen specificeret af msqid og placerer den i bufferen, der peges på af msgp. Argumentet msgsz angiver den maksimale størrelse i bytes for medlemmets mtekst af strukturen, der peges på af msgp-argumentet.

Hvordan virker msgrcv?

msgrcv-funktionen læser en besked fra meddelelseskøen specificeret af msqid-parameteren og placerer den i den brugerdefinerede buffer, der peges på af msgp-parameteren. msgp-parameteren peger på en brugerdefineret buffer, der skal indeholde følgende: Et felt af typen long int, der specificerer meddelelsens type.

Hvad returnerer msgrcv?

RETURN VALUE

Ved vellykket afslutning returnerer msgrcv en værdi svarende til antallet af bytes, der faktisk er placeret i bufferen mtext. Ellers vil der ikke blive modtaget nogen besked, msgrcv vil returnere (ssize_t)-1 og errno vil blive indstillet til at angive fejlen.

Anbefalede: