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

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

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

0
anonymous 20 Ноя 2018 в 18:47

1 ответ

Лучший ответ

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

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

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

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

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

0
Community 20 Июн 2020 в 09:12