如何防止插件中的崩溃影响主程序(dlopen)

时间:2015-08-08 14:32:28

标签: c++ linux plugins error-handling dlopen

我正在制作一个插件系统,其中包括' dlopen'在linux中。这是一个在插件之间传输数据(JSON)的中央应用程序。 我们可以使用try-catch子句处理抛出的异常。我的问题是关于终止程序的错误,比如Segmentation fault。如何防止其中一个插件中的分段错误终止整个应用程序?

我能用fork做点什么吗?我从未使用过fork而且我不知道如果我可以在分叉进程和主进程之间传输数据? 或者我不能使用dlopen fr这样的东西而且我还在使用另一种方法吗?

感谢。

1 个答案:

答案 0 :(得分:1)

AFAIK安全的唯一方法是以serparate运行插件 处理并通过管道或插座等与它们通信。

你正在使用json所以你的数据已经被序列化了,你需要编写一个装载器,它可以插入插件并处理pre-exisitng套接字..