Я написал библиотеку на основе C, и для ее параллельной работы в нескольких потоках я создал несколько глобальных мьютексов в функции init.
Я ожидаю, что функция init будет вызываться в главном потоке, прежде чем библиотечные API будут использоваться в многопоточности.
Но если сама функция init вызывается в многопоточном режиме напрямую, то это проблема. Есть ли способ защитить саму функцию инициализации от моей библиотеки? Один из способов, который я могу придумать, - попросить приложение создать мьютекс и защитить параллельные вызовы моей функции инициализации, но могу ли я защитить ее от самой библиотеки?