Вы не говорите, какую команду / сообщение ожидает ваша ветка, но если вы можете отправить ей сообщение «Пожалуйста, убьете себя», а затем дождитесь его смерти с помощью pthread_join (...) , вы будете намного счастливее.
Если ваш поток ожидает файловый дескриптор, вы можете использовать poll () или select () и заставить его ждать два файловых дескриптора. Тогда ваш основной поток может отправлять ему сообщения на втором.
Если ваш поток ожидает событий графического интерфейса, большинство наборов инструментов имеют возможность отправлять ваши собственные сообщения. Например, PostMessage () в Win32 или XSendEvent () в X11.