我有一个带有FFI binding to a custom RPC system
的Rails应用程序。不幸的是,C
代码在无法连接到RPC服务器时终止整个Rails应用程序时调用exit()
。
是否可以在Ruby中捕获对exit()
的调用?我宁愿不必更改C
代码。
答案 0 :(得分:1)
您无法捕获函数调用。但是,您可以将C代码与实际不会退出的虚拟exit()
函数链接起来。
到目前为止,更清洁的解决方案是更改C代码以使其具有适当的库行为。
你也可以在进行RPC调用之前使用ruby,稍微考虑一下昂贵的性能,但也会解决这个问题......