Re: Unloading a KEXT with Client still connected
Re: Unloading a KEXT with Client still connected
- Subject: Re: Unloading a KEXT with Client still connected
- From: Peter Lovell <email@hidden>
- Date: Wed, 13 Jul 2005 16:42:31 -0400
On Jul 13, 2005, at 4:25 PM, Allan Hoeltje wrote:
Thank you all for coping with my continuous stream of newbie
questions,
hopefully including this one:
I have a client application that connects to my KEXT and I am
currently
testing the KEXT by using kextload and kextunload. I noticed the
hard way
that if I kextunload the KEXT while my client is running and
connected I get
the scary "gray curtain of death" - which I guess is the kernel panic
everybody refers to.
Eventually my KEXT will be put in the startup folder. If the user
shuts
down with the client still running and connected to the KEXT will I
get a
kernel panic?
I have looked at the XNU source code (thank you Justin!) and
thought maybe
there was some way for a KEXT to force close all client connections
but
found none.
Is there some way I can handle this?
-Allan
Your kext can, and probably should, refuse to unload if there are
connections open.
Try to think of the kext as a servant and look at the close-down
sequence from the other direction. Your kext should stay there until
its client (the application, or whatever) closes, and then you can
unload. Don't try to close anything from your kext, but instead get
the application to close the connection, with a little "help" if
necessary.
Cheers.....Peter
_______________________________________________
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