OSX Kext не освобождается должным образом

Я написал kext драйвера устройства для устройства SCSI с «горячей» заменой, основываясь наКод Wagerlabs (используя модель клиент-приложение драйвера-пользователя) и все работает. Единственная оставшаяся проблема заключается в том, что драйвер не всегда освобождается, особенно в случае сбоя приложения. Например, когда я пытаюсь выгрузить kext, даже с отключенным устройством и закрытым приложением, все еще остаются невыполненные экземпляры драйвера и пользовательского клиента (при этом драйвер обычно превышает пользовательский клиент).

У меня есть вход в функции драйвера, какfree()и когда я выключаю компьютер, я вижу, как они выполняются, поэтому экземпляры, очевидно, все еще могут быть завершены. Что "право" способ гарантировать, что экземпляр драйвера будет прерван и освобожден, даже если хост-приложение аварийно завершает работу, некорректно завершается или все обычно не происходитидти в план?

Ответы на вопрос(1)

Ваш ответ на вопрос