Вопрос

У меня есть приложение Rails с FFI binding to a custom RPC system. Анкет К сожалению, C Кодовые вызовы exit() Когда он не может подключиться к серверу RPC, завершив все приложение Rails.

Можно ли улавливать звонки exit() в Руби? Я бы предпочел не менять C код.

Это было полезно?

Решение

Вы не можете поймать вызов функции. Однако, может быть, вы можете связать код C с манекеном exit() функция, которая на самом деле не выходит.

Более чистое решение - безусловно, чтобы изменить код C, чтобы дать ему правильное поведение библиотеки.

Вы также можете раскошелиться в Ruby, прежде чем сделать звонок RPC, немного по дорогой на стороне производительности, но решаете проблему ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top