| |||
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
| You probably have leaked a few references to yourself. Hot unplugging a driver can be a pain to get right. There is no good way of debugging these sorts of issues. The best you can do is instrument your driver then do a divide and conquer to find the offending leak. #if 0, almost all of your driver except the start routine and even in there comment out the code that does the creation and registration of the SerialStream. Does your driver unload then? Are you getting willTerminate()/didTerminate() calls? When are you getting your stop() called exactly? Once you can successfully unload you driver at start() time, start adding functionality a bit at a time until you can't unload it anymore. Many people recommend overriding the taggedRetain()/taggedRelease() functions and logging every call or setting a brake point. I have to say that I find this solution just too difficult, and I know how IOKit works. I really do not recommend this solution as your leaked reference just gets lost in the noise. Finally remember you are not allowed to teardown you driver until you have been closed from your client watch out for the 'releasePort()'call. Godfrey On 05/17/2005, at 22:06 , Jessie Dedecker wrote: Hello, |
_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-drivers mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-drivers/email@hidden This email sent to email@hidden
| References: | |
| >IOSerialDriverSync disconnect (From: Jessie Dedecker <email@hidden>) |
| Home | Archives | FAQ | Terms/Conditions | Contact | RSS | Lists | About |
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE
Contact Apple | Terms of Use | Privacy Policy
Copyright © 2007 Apple Inc. All rights reserved.