Ruby FFI - ловушка C вызовы на выход ()
-
22-10-2019 - |
Вопрос
У меня есть приложение Rails с FFI binding to a custom RPC system
. Анкет К сожалению, C
Кодовые вызовы exit()
Когда он не может подключиться к серверу RPC, завершив все приложение Rails.
Можно ли улавливать звонки exit()
в Руби? Я бы предпочел не менять C
код.
Решение
Вы не можете поймать вызов функции. Однако, может быть, вы можете связать код C с манекеном exit()
функция, которая на самом деле не выходит.
Более чистое решение - безусловно, чтобы изменить код C, чтобы дать ему правильное поведение библиотеки.
Вы также можете раскошелиться в Ruby, прежде чем сделать звонок RPC, немного по дорогой на стороне производительности, но решаете проблему ...
Не связан с StackOverflow