Почему деструкторы не вызываются, когда программа завершается в ответ на сигнал?C++

Программы на C++. Форум разработчиков
Anonymous
Почему деструкторы не вызываются, когда программа завершается в ответ на сигнал?

Сообщение Anonymous »

Я пишу серверное приложение. Следуя RAII, в конструкторе одного из моих классов я создаю файл, а в деструкторе удаляю его. Этот класс заключен в unique_ptr. Это серверное приложение, и я могу уничтожить его, только отправив ему сигнал (SIGINT).
Странно то, что я поместил операторы std::cerr в деструкторы класса, хранящегося в unique_ptr, и они не вызываются, когда приложение закрывается/замирает.
Ожидается ли это, когда Нажата Ctrl+C или я упускаю что-то очевидное в отношении деструкторов?

Подробнее здесь: https://stackoverflow.com/questions/287 ... e-to-a-sig

Вернуться в «C++»