Aislar y multiplicar instanciar una biblioteca C en proceso

Tenemos una biblioteca C (.lib windows y .a linux) que solo permite la creación de un singleton y que tampoco se cierra correctamente (la memoria se filtró y los hilos se dejaron vivos) una vez que se instanciaron.

Reescribiéndolo y cazando a un lado los errores, ¿hay una manera simple de aislar este tipo de código que se comporta mal en el proceso, de modo que se pueda eliminar la restricción singleton y se pueda poner en orden el entorno suci

Me interesan principalmente las opciones en proceso, si es que hay alguna. Un proceso separado obviamente lo resolvería, pero incurriría en una sobrecarga arquitectónica para permitir el control remoto de la biblioteca a menos que haya soluciones de muy bajo impacto para eso (tiene una API amplia, por lo que mantener mucho pegamento no es particularmente atractivo).

Respuestas a la pregunta(1)

Su respuesta a la pregunta