Очередь сообщений
На си++ создаю новую очередь сообщений с помощью msgget, затем создаю потомка программы при помощи fork, из потомка шлю основной программе с помощью msgsnd очередь, в программе принимаю ее msgrcv'ом, меняю принятое сообщение, но после этого при попытке обратно отослать измененную очередь сообщений от родителя к потомку msgrcv возвращает -1. В чем проблема?