Re: kextunload problem
Re: kextunload problem
- Subject: Re: kextunload problem
- From: "Herb Petschauer" <email@hidden>
- Date: Mon, 26 Jun 2006 09:18:45 -0700
On 26/06/06,
Mark Stow <
email@hidden> wrote:
Hi - I'm having some difficulties with kextunload.
I am working on a firewire device driver which derives from IOService. The
problem seems to be that free() never gets called. However, if I log out,
then log back in again, everything works fine - ie free() is called, and the
driver unloads correctly.
I have stripped the code down to a bare minimum of just the life cycle
functions, which in turn just call into IOService. I see init(), attach()
and start() being called, and then on unload stop() detach() but not free().
Any help/ideas would be appreciated!
Check your system.log, there's probably a message telling you why your kext won't unload (e.g. Couldn't unload kext (name) because there are x instances of <some class>). free() doesn't get called until the last release() (retain/release must balance) so I suspect someone is over-retaining(). Is your Firewire drive unplugged when you try and unload the kext? The /dev/disk nodes are usually left created until you unplug the device. Just a thought...
-H.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden