Приведенная ниже программа «hello mutex» создаст совершенно корректный исполняемый файл при компиляции на стандартной машине с Windows.
Код: Выделить всё
#include "stdio.h"
#include
int main()
{
printf("main enter\n");
std::mutex m_mutex;
printf("Created mutex\n");
std::unique_lock lock(m_mutex);
printf("Instantiated lock\n");
printf("main exit\n");
}
Я создал очень простой репозиторий на GitHub, чтобы продемонстрировать проблему: https://github.com/pthom/poub_pfd
Можно найти исполняемые файлы, созданные участниками GitHub. внутри артефактов этого репозитория: https://github.com/pthom/poub_pfd/actions
Эта проблема меня сильно уязвила... Я обнаружил ее через 1 месяц после выпуск моей библиотеки Python/Pybind11 (для которой я развертываю несколько собственных колес непосредственно из артефактов GH Runners)
У меня есть несколько связанных вопросов:
- Совершил ли я очевидную ошибку?
- Кто-нибудь тоже сталкивался с этой проблемой?
Я уверен, что эта проблема существует с 3 июля, поскольку она была обнаружена намного позже в выпуске библиотеки Python, который я создал на данный момент.
- Кто-нибудь знает, была ли эта проблема или связанная с ней уже опубликована на GitHub?
Если нет, то где лучше всего место, где я должен это опубликовать?
Подробнее здесь: https://stackoverflow.com/questions/788 ... ckstdmutex