Флаг SA_RESETHAND в sigaction не работает для быстрых исключенийC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Флаг SA_RESETHAND в sigaction не работает для быстрых исключений

Сообщение Anonymous »

У меня есть кадр обработки исключений для приложения Xcode в macOS, который содержит код Cpp и Swift. Я использую фрейм сигналов Unix для обработки исключений с помощью sigaction. Мой обработчик сигнала sigaction вызывается при возникновении исключения Swift или Cpp. Однако в некоторых исключениях, таких как SIGSEGV, обработчик сигнала вызывается повторно. Чтобы справиться с этим, я использую флаг SA_RESETHAND, чтобы обработчик вызывался только один раз, а затем действие по умолчанию для сигнала выполнялось для завершения процесса.
Этот подход хорошо работает, когда исключение возникает из-за кода Cpp, однако, когда оно происходит из-за кода Swift, обработчик сигнала все равно вызывается повторно. Может кто-нибудь объяснить, почему это происходит и какое решение этой проблемы?

Подробнее здесь: https://stackoverflow.com/questions/783 ... exceptions
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Флаг SA_RESETHAND в sigaction не работает для быстрых исключений
    Anonymous » » в форуме C++
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Обработчик sigaction ожидает блокировки неопределенное время
    Anonymous » » в форуме C++
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как мне перехватить SIGSEGV с помощью sigaction() при использовании JNI?
    Anonymous » » в форуме JAVA
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как мне перехватить SIGSEGV с помощью sigaction() при использовании JNI?
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как мне перехватить SIGSEGV с помощью sigaction() при использовании JNI?
    Anonymous » » в форуме JAVA
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

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