История изменений
Исправление user_id_68054, (текущая версия) :
Ведь все равно у меня в потоке была проверка флага. Ошибкой было то, что я забыл перед pthread_exit разблокировать мьютекс — вот он и висел заблокированным
забираешь у потока признак инициализации initialized :-) ?
..норм, да :) .. «нарекаю тебя более не инециализированным!» :-)
необычное решение, я думал ты придумаешь ещё один флаг.. (и првоерять его дополнительно).. но проверять один флаг вместо двух фрагов — тож хорошая идея :-)
вообще не вызываю pthread_cancel, а жду, пока он сам отомрет
это на мой взгляд отлично!
...хотя вот в первом сообщении товарищ И таки как правильно потоки убивать? (комментарий) — предложил pthread_cleanup_push() / pthread_cleanup_pop() ..
..и поидее это было бы правильно.. но лично я склонен полагать что где-нибудь в каком-нибудь одном месте этот pthread_cleanup_push() будет забыт быть вызванным какой-нибудь внутренней служебной функцией (от поставщика третьего лица).. и попробуй найди где это было забыто :-) .. думаю что утечка ресурсов или зависание — будет обеспечено в редком случае.
так что , лично я — очень НЕ люблю хоть где-то использовать pthread_cancel :-)
Исходная версия user_id_68054, :
Ведь все равно у меня в потоке была проверка флага. Ошибкой было то, что я забыл перед pthread_exit разблокировать мьютекс — вот он и висел заблокированным
забираешь у потока признак инициализации initialized :-) ?
..норм, да :) .. «нарекаю тебя более не инециализированным!» :-)
необычное решение, я думал ты придумаешь ещё один флаг.. (и првоерять его дополнительно).. но проверять один флаг вместо двух фрагов — тож хорошая идея :-)
вообще не вызываю pthread_cancel, а жду, пока он сам отомрет
это на мой взгляд отлично!
...хотя вот в первом сообщении товарищ И таки как правильно потоки убивать? (комментарий) — предложил pthread_cleanup_push() / pthread_cleanup_pop() ..
..и поидее это было бы правильно.. но лично я склонен полагать что где-нибудь в каком-нибудь одном месте этот pthread_cleanup_push() будет забыт быть вызванным какой-нибудь внутренней служебной функцией (от поставщика третьего лица).. и попробуй найди где это было забыто :-) .. думаю что утечка ресурсов или зависание — будет обеспечено в редком случае.