Со следующим кодом:
#define MSGLEN 128
typedef struct {
long id;
char message[MSGLEN];
} data;
data msg;
msgsnd(msg_id, &msg, MSGLEN, IPC_NOWAIT);
Я получаю неверный аргумент, но
msgsnd(msg_id, &msg.message, MSGLEN, IPC_NOWAIT);
работает.
Конечно, я создал очередь сообщений с msgget
а также kernel.msgmax = 65536
Хорошо … моя вина Для всех, кто сталкивается с той же проблемой:
msg.id = 1;
Идентификатор должен быть больше 0.
Других решений пока нет …