我必须编写大量使用来自 mqueue.h 的队列的程序。问题是它很容易达到/proc/sys/fs/mqueue/queues_max
我无法改变的极限。是否可以等到可以创建新队列而无需硬旋转?我的意思是
do {
desc = mq_open(name, O_CREAT | O_RDONLY, 0666, NULL);
if(errno == 24) // "Too many open files"
mq_wait_for_free(); // I ask for this
else {
perror("creation of mqueue");
exit(-1);
}
} while (desc < 0);