message queue 생성 관련 질문입니다.

plotonix의 이미지

// msgget system call ( create message queue )
g_msgq_id = msgget(IPC_PRIVATE, IPC_CREAT | 0666);

if (g_msgq_id < 0)
{
printf("can't create message queue\n");
printf("errno : %d\n", errno);
printf("strerror : %s\n", strerror(errno));
return 0;
}

위와 같은 코드를 실행하면 아래와 같은 결과가 뜨더군요. :(

can't create message queue
errno : 28
strerror : No space left on device

-----------------

위와 같은 동작을 보이는 원인은 무엇인가요?

해결 방법은 없을까요?

대부분의 경우 message queue의 생성을 성공하는 방법은 무엇인가요?

답변 부탁드립니다. 감사합니다. :)

익명 사용자의 이미지

메시지 큐는 파일 시스템을 사용합니다.
즉 메시지 큐가 생성되는 디바이스(이를 테면 파티션같은 것들)에
여유가 없다는 뜻입니다.

man ipcs

man ipcrm