Re: Question about HALRunLoop thread
Re: Question about HALRunLoop thread
- Subject: Re: Question about HALRunLoop thread
- From: Jeff Moore <email@hidden>
- Date: Fri, 7 Jul 2006 11:50:18 -0700
That thread is created by the HAL so that it can field notifications
from drivers. It is created as part of initializing the HAL and will
live on to until the process dies. The HAL provides API to control
this thread in the form of AudioHardwareUnload() and
kAudioHardwarePropertyRunLoop.
However, given that your code is living in a mixed environment that
you don't own (in other words, your plug-in may not be the only
entity using the HAL in that process), you probably should not be
messing with this thread.
On Jul 7, 2006, at 11:42 AM, Brant Sears wrote:
Hi. I'm using Core Audio in a WebKit plugin. I am attempting to
tear down all the Core Audio stuff when the instance of my plugin
gets destroyed. The problem is that a thread remains which seems to
be the "HALRunLoop" thread:
CAPThread::Entry
HALRunLoop::OwnThread
CFUnLoopRunSpecific
__CFRunLoopRun
mach_msg
mach_msg_trap
So, in my "tear down" code, I call AUGraphStop and then when my
object (that owns/controls the audio stuff) is deallocated, I call
the following:
OSStatus status;
status = AUGraphUninitialize(graphUnit);
assert(status == noErr);
status = AUGraphClose(graphUnit);
assert(status == noErr);
status = DisposeAUGraph(graphUnit);
assert(status == noErr);
Should I be expecting this thread to go away? If not, why not?
--
Jeff Moore
Core Audio
Apple
_______________________________________________
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