【发布时间】:2011-08-06 08:05:39
【问题描述】:
我正在为 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);
但是当我使用它时,它不会从队列中读取任何内容并且进程被阻塞。
感谢您的宝贵时间,并为我糟糕的英语道歉......
【问题讨论】:
标签: c dynamic ipc message-queue