У меня есть несколько подпрограмм, которые делают несколько записей в поток stdio для создания одного сообщения журнала.Чтобы сохранить каждое сообщение отдельным, даже в многопоточных приложениях, я заключаю в скобки каждое сообщение с вызовами flockfile () и funlockfile ().В моих модульных тестах я хотел бы убедиться, что замок не остался висящим, но как я могу это определить?
Я думал о выполнении ftrylockfile (), но блокировка рекурсивная, она будет успешной, если я сделаю это из того же потока, что и исходный flockfile ().Под колпаком находится счетчик блокировок, но я не вижу возможности прочитать его или проверить его нулевое значение.