Изолирование и многократное создание экземпляров библиотеки C в процессе

У нас есть библиотека C (.lib windows и .a linux), которая позволяет создавать только синглтоны и которая также не закрывается должным образом (утечка памяти и потоки оставлен в живых), который когда-то был создан.

Переписав его и отыскивая ошибки, есть ли простой способ изолировать этот вид некорректного кода в процессе, чтобы можно было удалить ограничение синглтона, а нечистую уборку можно было в песочнице?

Меня в основном интересуют любые незавершенные варианты, если они действительно есть. Очевидно, что отдельный процесс решит эту проблему, но повлечет за собой архитектурные накладные расходы, позволяющие удаленно управлять библиотекой, если для этого нет решений с очень низким уровнем воздействия (у нее широкий API, поэтому использование большого количества клея не особенно привлекательно).

8
задан idij 17 August 2011 в 13:19
поделиться