Как предотвратить сбои в плагине, влияющие на основную программу (dlopen)
Я делаю плагин-систему с 'dlopen' в Linux. Theres центральное приложение, которое передает данные (JSON) между плагинами. Мы можем обрабатывать исключенные исключения, используя предложение try-catch. Мой вопрос об ошибках, которые завершают программу, например, ошибка сегментации. Как я могу предотвратить сбой сегментации в одном из плагинов для завершения всего приложения?
Могу ли я сделать что-то с вилкой? Я никогда не использовал fork, и я не знаю, могу ли я передавать данные между разветвленным процессом и основным процессом? Или я не могу использовать dlopen для такой вещи, и я должен использовать другой метод?
Благодарю.
1 ответ
AFAIK Единственный способ обеспечения безопасности - запускать плагины в отдельных процессах и связываться с ними по трубам или сокетам и т. Д.
вы используете json, так что ваши данные уже сериализованы, вам нужно написать загрузчик, который отключает плагин и работает с ранее существующими сокетами.