2011-08-17 17 views
8

Mamy bibliotekę C (.lib windows & .a linux), która umożliwia tylko tworzenie singletonu i która również nie jest zamykana poprawnie (pamięć wyciekła i nici pozostało przy życiu) po raz pierwszy.Izolowanie i pomnażanie tworzenia instancji biblioteki C w trakcie przetwarzania

Przepisywanie i odszukiwanie błędów na uboczu, czy istnieje prosty sposób odizolowania tego rodzaju nieprawidłowo działającego kodu w procesie, tak, że ograniczenie singleton może zostać usunięte, a nieczysty porządek może być piaskowany?

Interesują mnie głównie opcje w procesie, jeśli w ogóle są. Oczywiście oddzielny proces rozwiązałby go, ale wiązałby się z kosztami architektury, aby umożliwić zdalne sterowanie biblioteką, chyba że są na to bardzo małe rozwiązania (ma szerokie API, więc utrzymanie dużej ilości kleju nie jest szczególnie atrakcyjne).

+2

Zwięźle - nie. Jeśli właściciele bibliotek nie będą współpracować, przepisywanie jest prawdopodobnie najłatwiejsze w dłuższej perspektywie. –

Odpowiedz

2

Przepraszam, ale nie ma na to prostej metody: . Sandboxing źle zachowujące się biblioteki jest zwykle wykonywane przy użyciu oddzielnych procesów, które już sam sobie zasugerowałeś. Narzędzie IPC, takie jak Bufory protokołów, może pomóc w zdefiniowaniu i implementacji protokołu IPC.

Powiązane problemy