Ruby FFI - 捕获C调用exit()

时间:2011-03-14 15:54:38

标签: ruby-on-rails c ruby ruby-on-rails-plugins ffi

我有一个带有FFI binding to a custom RPC system的Rails应用程序。不幸的是,C代码在无法连接到RPC服务器时终止整个Rails应用程序时调用exit()

是否可以在Ruby中捕获对exit()的调用?我宁愿不必更改C代码。

1 个答案:

答案 0 :(得分:1)

您无法捕获函数调用。但是,您可以将C代码与实际不会退出的虚拟exit()函数链接起来。

到目前为止,更清洁的解决方案是更改C代码以使其具有适当的库行为。

你也可以在进行RPC调用之前使用ruby,稍微考虑一下昂贵的性能,但也会解决这个问题......