메시지 큐 (message queue) 사용 관련 질문 드립니다.
글쓴이: kgykingdom / 작성시간: 목, 2007/11/08 - 9:39오전
현재는 다수의 프로세스가 하나의 큐로 통신을 수행하는데 구조는 아래와 같습니다.
typedef struct _message { long type; unsigned short msg_type; unsigned short msg_len; unsigned char *value; } message;
데이터가 가변이라 먼저 type, msg_type, msg_len 을 먼저 queue 에 write 하고, type, value 를 write 합니다.
main() { ... write_queue(qid, msg, 4, type); write_queue(qid, msg->value sizeof(msg->value), type); ... }
대충 이런식 쓰고, msg_type, msg_len 을 읽어서 msg_len 만큼 한번 더 읽어 오는 방식으로 사용하고 있는데,
이렇게 말고 가변 메시지를 한번에 읽어 올 수 있도록 현재 메시지 큐에 읽어야할 메시지의 크기를 알 수 있는 방법이 없나요?
간단히 묻자면 프로세스 A 가 프로세스 B 에게 보낼 100 bytes 의 메시지+데이터를 큐에 쓴다면 프로세스 B 가 큐에 현재 100 bytes 의 읽어
올 메시지가 있다는 사실을 확인할 방법이 있는지 알고 싶습니다. (2번 읽을걸 1번만 읽고 싶어서)
사실 제가 알기로는 없는데... 그래도 몰라 이렇게 질문 드립니다. ^^;;
Forums:
댓글 달기