У меня есть асинхронный регистратор, который записывает журналы в файл с рабочим потоком. Он хранит очередь сообщений и записывает их на диск по порядку.
Если моя программа вызывает ошибку сегментации, то я не могу гарантировать печать всех сообщений.
Я думаю об использовании std::signal
, чтобы поймать SIGSEGV
, flu sh асинхронный регистратор, а затем выйти из программы.
Разумно ли это? Или поведение полностью не определено после возникновения ошибки сегментации.