RE: lightweight traces in kernelmode?
RE: lightweight traces in kernelmode?
- Subject: RE: lightweight traces in kernelmode?
- From: Philip Lukidis <email@hidden>
- Date: Wed, 7 Sep 2005 17:27:22 -0400
Well, I don't have any problem now that I removed that retain() call on
the IOFireLog object. I took the source from the Firewire SDK (20).
I can now unload my kext easily. But I had to make some
modifications, because I saw that calling a trace resulted in two locks
being acquired. I can't afford to do that because I could call from a
performance sensitive context. So I queue log requests to my "async
logging thread". This thread blocks all it wants. I do use simplelocks
for synchronization in the tracing context, along with preallocated
memory etc so as not to block ever (spinning briefly on a simple lock
is acceptable to me).
I'll post my question to the firewire list.
thanks,
Philip Lukidis
-----Original Message-----
From: Matthew Xavier Mora [mailto:email@hidden]
Sent: Wednesday, September 07, 2005 2:38 PM
To: Philip Lukidis; email@hidden
Subject: RE: lightweight traces in kernelmode?
At 5:39 PM -0400 9/6/05, Philip Lukidis wrote:
>I have a small question about firelog. I have successfully integrated
>firelog
>into my kext. However, I did find that I have an issue.
>
>I found that I cannot unload my driver, because the IOFireLog object has
>an extra reference to it. Indeed, in
>IOFireLogPublisher::initWithController,
>an extra reference is taken on this object. Removing this extra reference
>allowed my driver to unload. I call this an "extra" reference because as
>far as I understand, the reference count of the object would be 1 right
>after its creation.
>
>I'm sure that I'm missing something. If you know what it is, and have
>a moment to respond, I would greatly appreciate it.
Hmm, I'm not having that problem when I use FireLog. I can load and
unload my kext at will.
Are you using a new verison of FireLog? The version I use only
supplies a global that you link
to that is the name of the FireLog function. There is no other
references to any classes.
You might want to take this off line or move it to the FireWire mailing
list.
Matt
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden