From 1e6b4730039ed038b5157d5c418fb115bb556366 Mon Sep 17 00:00:00 2001 From: sletz Date: Sat, 15 Mar 2008 20:58:28 +0000 Subject: [PATCH] RT scheduling for OSX thread (wheen use in dummy driver). git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2010 0c269be4-1314-0410-8aa9-9f06e86f4224 --- ChangeLog | 1 + common/JackEngineControl.h | 6 +++++- common/JackThreadedDriver.cpp | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index d85fb5a1..6183880a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -23,6 +23,7 @@ Fernando Lopez-Lezcano 2008-03-14 Stephane Letz * Add -L (extra output latency in aynchronous mode) in CoreAudio driver. + * RT scheduling for OSX thread (wheen use in dummy driver). 2008-03-14 Stephane Letz diff --git a/common/JackEngineControl.h b/common/JackEngineControl.h index 99284399..c685eae7 100644 --- a/common/JackEngineControl.h +++ b/common/JackEngineControl.h @@ -95,7 +95,7 @@ struct JackEngineControl : public JackShmMem int fRollingInterval; float fCPULoad; - // Fos OSX thread + // For OSX thread UInt64 fPeriod; UInt64 fComputation; UInt64 fConstraint; @@ -122,6 +122,10 @@ struct JackEngineControl : public JackShmMem ClearTimeMeasures(); ResetRollingUsecs(); snprintf(fServerName, sizeof(fServerName), server_name); + // For OSX thread + fPeriod = 0; + fComputation = 500 * 1000; + fConstraint = 500 * 1000; } ~JackEngineControl() {} diff --git a/common/JackThreadedDriver.cpp b/common/JackThreadedDriver.cpp index 169c2bd2..b2bcd00a 100644 --- a/common/JackThreadedDriver.cpp +++ b/common/JackThreadedDriver.cpp @@ -59,6 +59,8 @@ int JackThreadedDriver::Start() if (fDriver->IsRealTime()) { jack_log("JackThreadedDriver::Start IsRealTime"); + // Will do "something" on OSX only... + fThread->SetParams(GetEngineControl()->fPeriod, GetEngineControl()->fComputation, GetEngineControl()->fConstraint); if (fThread->AcquireRealTime(GetEngineControl()->fPriority) < 0) jack_error("AcquireRealTime error"); }