История изменений
Исправление
kvpfs,
(текущая версия)
:
Ну вообще твоя хотелка решение имеет - заставить другой тред убиться и разрушить все стековые объекты. Но учти, что это тоже такое себе, никто не знает чем убиваем тред занимался, также может что-то «подтекать», если тред брал какой-то ресурс, не закончил, а его прервали. Здесь решение. Т.е. шлем треду сигнал, обработчик сигнала генерит исключение, стек разматывается. Если исключение не было поймано в каком-нибудь обработчике, то будет вызван terminate() (ожидаемо, нжно повесить свою заглушку на обработчик terminate’a).
В общем это тоже костыль, и в либе могут быть сюрпризы в виде catch(…), но есть вероятность, что с некоторой долей костыльности и вероятностью подтеканий работать будет.
Исходная версия
kvpfs,
:
Ну вообще твоя хотелка решение имеет - заставить другой тред убиться и разрушить все стековые объекты. Но учти, что это тоже такое себе, никто не знает чем убиваем тред занимался, также может что-то «подтекать», если тред брал какой-то ресурс, не закончил, а его прервали. Здесь решение. Т.е. шлем треду сигнал, обработчик сигнала генерит исключение, стек разматывается. Если исключение не было поймано в каком-нибудь обработчике, то будет вызван terminate() (ожидаемо, нжно повесить свою заглушку на обработчик terminate’a).
В общем это тоже костыль, и в либе могут быть сюрпризы в виде catch(…), но есть вероятность, что с некоторой долей костыльности и подтеканий работать будет.