Blob Blame History Raw
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;