Kdy msgrcv selže?

Kdy msgrcv selže?
Kdy msgrcv selže?
Anonim

Funkce msgrcv selže, pokud: [E2BIG] Hodnota mtext je větší než msgsz a (msgflg & MSG_NOERROR) je 0. [EACCES

Blokuje Msgrcv?

Funkce msgsnd a msgrcv lze provádět buď jako blokující nebo neblokující operace. Neblokující operace umožňují asynchronní přenos zpráv – proces není pozastaven v důsledku odeslání nebo přijetí zprávy.

Odstraní msgrcv zprávu z fronty?

Systémové volání msgrcv odstraní zprávu z fronty určené msqid a umístí ji do vyrovnávací paměti, na kterou ukazuje msgp. Argument msgsz určuje maximální velikost v bajtech pro člen mtext struktury, na kterou odkazuje argument msgp.

Jak funguje msgrcv?

Funkce msgrcv čte zprávu z fronty zpráv zadané parametrem msqid a umístí ji do uživatelem definovaného bufferu, na který ukazuje parametr msgp. Parametr msgp ukazuje na uživatelsky definovanou vyrovnávací paměť, která musí obsahovat následující: Pole typu long int, které určuje typ zprávy.

Co vrací msgrcv?

RETURN VALUE

Po úspěšném dokončení vrátí msgrcv hodnotu rovnající se počtu bajtů skutečně umístěných do vyrovnávací paměti mtext. V opačném případě nebude přijata žádná zpráva, msgrcv se vrátí (ssize_t)-1 a bude nastaveno errno, které označuje chybu.

Doporučuje: