По ходу, для потоков надо всё переделывать.
Созданный с pthread_create поток помирает, когда вызываший его метод заканчивает работу, даже если сам pthread_t определен вне этого метода? Например, внутри обработчика таймера я создаю поток, обновляющий окно. Некоторое время он работает, но потом вдруг перестаёт - экран не обновляется, хотя звук идёт.




Ответить с цитированием