Когда я поймаю сигнал SIGINT в своей программе, как я могу безопасно очищать ресурсы? В функции обработчика сигнала нельзя вызвать оператора delete
, потому что я не знаю, как освободить ресурс, созданный с помощью оператора new
.Как бороться с SIGINT?
Любые идеи?
Дополнительная информация и пример кода здесь: http://stackoverflow.com/questions/4250013/is-destructor-called-if-sigint-or-sigstp-issued –
Что вы имеете в виду, что нельзя вызвать 'delete '? –
Поскольку SIGINT может происходить асинхронно, во время задачи управления памятью, а куча может быть непоследовательной? Что происходит, когда 'delete' вызывается обработчиком сигнала, который прерывает вызов' new'? –