Я обнаружил, что wxCriticalSection не является рекурсивным (блокируется, когда поток захватывает раздел более одного раза) в Linux.Глядя на источники, я обнаружил, что wxCriticalSection реализован с использованием wxMutex под Linux, но без использования wxMUTEX_RECURSIVE.У меня есть кодовая база, которая хорошо работает под Win и Mac, и я хочу портировать ее на Linux, но у меня есть тупики в некоторых местах, где я не избежал рекурсии.
Теперь у меня есть две возможности:
Изменение и перестройка wxWidgets для моей цели (бррр - по любому случаю я хочу сказать, что так как я не слишком много знаю о проектных решениях, стоящих за этим)
отладка каждого из моих возможных путей кода (brrr - займет несколько дней и ужасно подвержена ошибкам)
Есть ли третий способ, заменяющий / расширяющий wxCriticalSection с помощью конструкциичто ведет себя одинаково под Mac / Win / Unix?
пс.Может ли кто-нибудь объяснить мне дизайнерское решение?Г-н Вадим З говорит ...
Я временно забыл причину, по которой я был против (делая рекурсивный wxCriticalSections), но я вспомнил об этом 30 секунд спустя (после отправки своего сообщения, конечно).Пожалуйста, посмотрите мое продолжение
Но продолжения не было ...