дофига сишников.
Короче, может кто объяснить, для чего ftok() нужен путь к файлу, если наполняя очередь сообщений, файл остаётся пустым ?
Это просто такой GUID для бедных. Чтобы как-то идентифицировать очередь для нескольких процессов.
А для чего тогда обычный айди ?
Для того же. Допустим, у тебя несколько групп процессов, которые хотят внутри группы чем-то обмениваться. И если у них общий конфигурационный файл, ты можешь, например, сослаться на него или на свой исполняемый файл, а разные группы отличать с помощью project_id (но там всего 8 бит). А если у каждой группы есть физически свой файл конфига, то ты можешь указывать его, и project_id тебе не особенно нужен.
Понял, спасибо. Ещё вопросик возник. Короче, у меня каким-то макаром в очередь попала что-то, что крашило msgrcv. А msgget возвращал вообще 19. Что это вообще такое и как вообще такое могло произойти ?
Не знаю. Если бинарник сохранился, можно попробовать отладить.
Да там не бинарник, я Лабу пишу. Там, Аля, клиент и сервер. И, гоняя, туда сюда очередь, она баганулась. И такая фигня начала происходить. А самое главное, элементы очереди не удалялись при обращении к ним.
Обсуждают сегодня