Я использую статический размер сообщения для очереди сообщений IPC:
/* header */
typedef struct{
long type;
char data[BUFFER_SIZE];
}msg;
/* main */
msg m;
msgrcv(queueid, &m, BUFFER_SIZE, 0, 0);
но мне нужно использовать динамический размер данных. Что-то вроде
// header
typedef struct{
long type;
char *data;
}msg;
// main
msg m;
m.data = (char*) malloc( BUFFER_SIZE );
msgrcv(queueid, &m, BUFFER_SIZE, 0, 0);
Но когда я использую это, он ничего не читает из очереди, и процесс блокируется.
Спасибо за ваше время и извинения за мой плохой английский ...