Вы можете изменить атрибут очереди сообщений для O_NONBLOCK, используя mq_setattr .
Затем очистите очередь, прочитав все сообщения, пока возвращаемое значение не покажет, что очередь пуста.
Теперь верните старые атрибуты обратно.
Этот метод не оптимизирован во время выполнения, но позволяет избежать необходимости закрывать и открывать очередь сообщений.