ANSIC IPC очередь сообщений Что означает тип в struct msgbuf - PullRequest
0 голосов
/ 20 ноября 2018

Как гласит заголовок, у меня возникли проблемы с пониманием значения переменной-члена struct msgbuf "type"

struct msgbuf
{
    long type;
    char text[100];
};

Я понятия не имею, когда и для чего ее можно использовать, поэтомуможет кто-нибудь помочь мне, пожалуйста ....

1 Ответ

0 голосов
/ 20 ноября 2018

Если вопрос касается msgsnd() и msgrcv() звонков, то:

Вы можете свободно использовать его по своему желанию.За исключением одного правила: оно должно быть больше нуля.

msgrcv() У вызова есть опция (параметр msgtyp) для получения сообщения нужного типа из очереди.См. Дополнительную информацию из справочной страницы msgsnd :

Если msgtyp равен 0, то первое сообщение в очереди читается.

Если msgtyp больше 0, затем читается первое сообщение в очереди типа msgtyp, если MSG_EXCEPT не было указано в msgflg, и в этом случае будет прочитано первое сообщение в очереди типа, отличного от msgtyp.

...