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

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

Сообщение Anonymous »

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

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

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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