[libdispatch-dev] Using libdispatch/GCD in a real-time context
Stéphane Letz
letz at grame.fr
Mon May 17 02:20:52 PDT 2010
Le 17 mai 2010 à 05:46, Mark Heily a écrit :
> On 05/12/2010 07:12 AM, Stéphane Letz wrote:
>> Right now there is no way to define a real-time queue in libdispatch,
>> but would this kind of extension be theoreticaly possible? What would be the way
> to do that? Any comment on the overall idea?
>
> Hi,
>
> I think it would be possible to add realtime support to libdispatch, although you would also need changes to pthread_workqueue(3) libc functions.
>
> It sounds like you are using the Mach function thread_policy_set(), which is not portable and also not very general-purpose. Have you tried using pthread_setschedparam(3) with the SCHED_FIFO scheduling class, and would this approach be acceptable for JACK?
>
> Regards,
>
> - Mark
Using POSIX function is not enough. Real-time threads on OSX are "time constraints" threads (using the thread_policy_set API with THREAD_TIME_CONSTRAINT_POLICY)
http://developer.apple.com/mac/library/documentation/Darwin/Conceptual/KernelProgramming/scheduler/scheduler.html
What would be the different steps to follow to add realtime support to libdispatch then ?
Regards
Stephane Letz
More information about the libdispatch-dev
mailing list