LINUX.ORG.RU

Избранные сообщения KerHarrad

Асинхронное прерывание потока - возможна ли утечка памяти?

Форум — Development

Возник такой вопрос. Создаем поток, ставим ему режим PTHREAD_CANCEL_ASYNCHRONOYS. Далее где-то в потоке выделяем память char *buf = new char[100500];

Получается что возможна ситуация, когда посланная команда прерывания потока попадет между вызовом new и присвоением ее результата в переменную buf. Тогда получается память уже выделена, но улетаем в обработчик останова с мусором в buf - имеем утечку. Что-то я сомневаюсь что система/компилятор могут сами разруливать такое.

 , pthreadcancel, выделение памяти

KerHarrad
()