Я создаю программу на C ++, используя SDL, и иногда получаю эту ошибку:
* обнаружен glibc * ./assistant: двойное освобождение или повреждение (! Prev)
Сложно копировать, поэтому я не могу точно определить, что его вызывает, но я просто добавил второй поток в программу, и ни один из потоков, выполняющихся сам по себе, не вызывает ошибку.
Потоки не имеют общих переменных, хотя обе они выполняют функции SDL_BlitSurface
и SDL_Flip
. Может ли запуск этих программ одновременно вызвать такую ошибку или я лаю не на том дереве?
Если это причина, я должен просто включить мьютекс вокруг всех вызовов SDL?