You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
jack-audio-connection-kit/jack-realtime-compat.patch

57 lines
1.8 KiB

diff -rupN jack-1.9.6.old/common/JackControlAPI.cpp jack-1.9.6/common/JackControlAPI.cpp
--- jack-1.9.6.old/common/JackControlAPI.cpp 2010-08-30 06:23:53.000000000 -0400
+++ jack-1.9.6/common/JackControlAPI.cpp 2010-11-11 03:02:30.000000000 -0500
@@ -32,6 +32,7 @@
#include <stdio.h>
#include <assert.h>
#include <signal.h>
+#include <sys/utsname.h>
#include "jslist.h"
#include "driver_interface.h"
@@ -675,7 +676,13 @@ EXPORT jackctl_server_t * jackctl_server
goto fail_free_parameters;
}
- value.i = 10;
+ struct utsname utsname;
+ int success;
+ success = uname( &utsname );
+ if( success == 0 && strstr( utsname.version, "PREEMPT RT" ) )
+ value.i = 60;
+ else
+ value.i = 20;
if (jackctl_add_parameter(
&server_ptr->parameters,
"realtime-priority",
diff -rupN jack-1.9.6.old/common/JackServerGlobals.cpp jack-1.9.6/common/JackServerGlobals.cpp
--- jack-1.9.6.old/common/JackServerGlobals.cpp 2010-08-30 06:23:53.000000000 -0400
+++ jack-1.9.6/common/JackServerGlobals.cpp 2010-11-11 03:02:50.000000000 -0500
@@ -22,6 +22,7 @@ Foundation, Inc., 675 Mass Ave, Cambridg
#include "shm.h"
#include <getopt.h>
#include <errno.h>
+#include <sys/utsname.h>
static char* server_name = NULL;
@@ -67,9 +68,17 @@ void JackServerGlobals::Delete()
bool JackServerGlobals::Init()
{
+ struct utsname utsname;
+ int success;
+ success = uname( &utsname );
+
int realtime = 0;
int client_timeout = 0; /* msecs; if zero, use period size. */
- int realtime_priority = 10;
+ int realtime_priority;
+ if( success == 0 && strstr( utsname.version, "PREEMPT RT" ) )
+ realtime_priority = 60;
+ else
+ realtime_priority = 20;
int verbose_aux = 0;
int do_mlock = 1;
unsigned int port_max = 128;