struct mq_attr qattr;
qattr.mq_maxmsg = 120;
qattr.mq_msgsize = 16072;
mq_open(.., .., .., &qattr);
mq_open(.., .., .., &qattr);
mq_open(.., .., .., &qattr);
mq_open(.., .., .., &qattr);
mq_open(.., .., .., &qattr);
위와 같이 호출하면 시작하자마자 errno==12(ENOMEM) 에러가 발생합니다.
mq_maxmsg = 10;으로 하면 중간쯤에서 mq_maxmsg = 1; 로 하면 에러없이 잘 넘어가구요..
어디선가 POSIX 메시지 큐에 대한 size를 제한 하고 있는 것 같은데
어떤 값들을 확인해 봐야 할까요?
/proc/sys/fs/mqueue에서 msg_max=120, msgsize_max=16384, queues_max=256으로 세팅했습니다.