Как ждать, пока создание mqueue станет доступным?

Я должен написать программу, которая интенсивно использует очереди из 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);

0 ответов

Другие вопросы по тегам