Kekst OSX nie został prawidłowo zwolniony

Napisałem kext sterownika urządzenia dla urządzenia SCSI typu hot-plug, opartego nieco naKod Wagerlabs (za pomocą modelu klient-aplikacja sterownika-użytkownika) i wszystko działa. Jedynym problemem jest to, że sterownik wydaje się nie być konsekwentnie zwalniany, zwłaszcza jeśli aplikacja ulega awarii. Na przykład, gdy próbuję wyładować kext, nawet gdy urządzenie jest odłączone i aplikacja jest zamknięta, nadal istnieją wybitne instancje sterownika i klienta użytkownika (przy czym sterownik generalnie przewyższa liczbę klientów).

Mam logowanie do funkcji sterownika takich jakfree(), a kiedy wyłączam komputer, widzę, że są one wykonywane, więc instancje mogą oczywiście zostać zakończone. Jaki jest „właściwy” sposób, aby zapewnić, że instancja sterownika zostanie zakończona i zwolniona, nawet jeśli aplikacja hosta ulegnie awarii, zakończy się nieprawidłowo lub generalnie nie będzie działać zgodnie z planem?

questionAnswers(1)

yourAnswerToTheQuestion