Msgrcv качан иштебей калат?

Мазмуну:

Msgrcv качан иштебей калат?
Msgrcv качан иштебей калат?
Anonim

msgrcv функциясы иштебей калат, эгерде: [E2BIG] Mtext мааниси msgszден чоңураак жана (msgflg & MSG_NOERROR) 0 болсо. [EACCES]

Msgrcv бөгөттөйбү?

msgsnd жана msgrcv функциялары бөгөттөө же бөгөттөө эмес операциялар катары аткарылышы мүмкүн. Бөгөттөлбөгөн операциялар билдирүүнү асинхрондук өткөрүүгө мүмкүндүк берет -- процесс билдирүү жөнөтүүнүн же алуунун натыйжасында токтотулбайт.

msgrcv билдирүүнү кезектен алып салабы?

msgrcv тутумдук чалуу msqid тарабынан көрсөтүлгөн кезектен билдирүүнү алып салат жана аны msgp көрсөткөн буферге жайгаштырат. msgsz аргументи msgp аргументи көрсөткөн структуранын мүчө mтекстинин байт менен максималдуу өлчөмүн аныктайт.

msgrcv кантип иштейт?

Msgrcv функциясы msqid параметри тарабынан белгиленген билдирүү кезегинин билдирүүсүн окуйт жана аны msgp параметри көрсөткөн колдонуучу аныктаган буферге жайгаштырат. msgp параметри төмөнкүлөрдү камтышы керек болгон колдонуучу аныктаган буферди көрсөтөт: Кабардын түрүн белгилеген long int түрүндөгү талаа.

msgrcv эмнени кайтарат?

RETURN VALUE

Ийгиликтүү аяктагандан кийин, msgrcv буфер mtext иш жүзүндө жайгаштырылган байттардын санына барабар маанини кайтарат. Болбосо, эч кандай билдирүү кабыл алынбайт, msgrcv (ssize_t)-1 кайтып келет жана катаны көрсөтүү үчүн errno коюлат.

Сунушталууда: