使用SYSTEM V队列,有关消息资源释放的问题
使用SYSTEM V消息队列中,为避免资源释放,是否每个消息的构造需要全局的吗?资源是否会自动释放?
例如 :
V_SendMsg()
{
MSG_T stSndMsg; /* 需要准备发送的消息 */
初始化stSndMsg;
发送stSndMsg;
msgsnd(...stSndMsg....);
}
V_RcvMsg()
{
MSG_T *pstRcvMsg; /* 准备要接收消息的指针 */
msgrcv(...pstRcvMsg.....);
}
问题:
V_SendMsg()将消息发送到队列中,是否将要发送的消息的一份拷贝发送至队列中呢?还是就将那一段内存直接发送至队列中?
V_RcvMsg()接收消息后,是否会自动释放资源?还是由我们自己主动释放呢?