Når vil msgrcv mislykkes?

Innholdsfortegnelse:

Når vil msgrcv mislykkes?
Når vil msgrcv mislykkes?
Anonim

msgrcv-funksjonen skal mislykkes hvis: [E2BIG] Verdien av mtext er større enn msgsz og (msgflg & MSG_NOERROR) er 0. [EACCES]

Blokkerer Msgrcv?

Msgsnd- og msgrcv-funksjonene kan utføres som enten blokkerende eller ikke-blokkerende operasjoner. Ikke-blokkerende operasjoner tillater asynkron meldingsoverføring -- prosessen stanses ikke som et resultat av sending eller mottak av en melding.

Fjerner msgrcv meldingen fra køen?

msgrcv-systemanropet fjerner en melding fra køen spesifisert av msqid og plasserer den i bufferen pekt på av msgp. Argumentet msgsz spesifiserer maksimal størrelse i byte for medlem-mteksten til strukturen pekt på av msgp-argumentet.

Hvordan fungerer msgrcv?

msgrcv-funksjonen leser en melding fra meldingskøen spesifisert av msqid-parameteren og plasserer den i den brukerdefinerte bufferen pekt på av msgp-parameteren. msgp-parameteren peker til en brukerdefinert buffer som må inneholde følgende: Et felt av typen long int som spesifiserer meldingens type.

Hva returnerer msgrcv?

RETURN VALUE

Ved vellykket gjennomføring returnerer msgrcv en verdi lik antallet byte som faktisk er plassert i bufferen mtext. Ellers vil ingen melding bli mottatt, msgrcv vil returnere (ssize_t)-1 og errno vil bli satt til å indikere feilen.

Anbefalt: