]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
lower stack and boost priority of sofia schedule thread
authorAnthony Minessale <anthm@freeswitch.org>
Tue, 22 Mar 2011 20:02:10 +0000 (15:02 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Tue, 22 Mar 2011 20:02:10 +0000 (15:02 -0500)
libs/sofia-sip/.update
libs/sofia-sip/libsofia-sip-ua/su/su_pthread_port.c

index a21313983b1afa2ed471cd6856cde645a6b6b181..ecc88483f63466be504629949beb62f8b18a4253 100644 (file)
@@ -1 +1 @@
-Tue Mar  8 12:40:45 CST 2011
+Tue Mar 22 15:01:49 CDT 2011
index a571b4dab6ea6bedabe519810917aae8d0d25e45..dfcd9ac901961916dcb0b4e55afc488e9de107fe 100644 (file)
@@ -251,6 +251,8 @@ int su_pthreaded_port_start(su_port_create_f *create,
 
   int thread_created = 0;
   pthread_t tid;
+  pthread_attr_t attr;
+  struct sched_param param;
 
   arg.create = create;
   arg.parent = parent;
@@ -258,11 +260,19 @@ int su_pthreaded_port_start(su_port_create_f *create,
   arg.init = init;
   arg.deinit = deinit;
 
+  pthread_attr_init(&attr);
+  pthread_attr_setstacksize(&attr, 244);
+  pthread_attr_getschedparam(&attr, &param);
+  param.sched_priority = 1;
+  pthread_attr_setschedparam(&attr, &param);
+
   pthread_mutex_lock(arg.mutex);
-  if (pthread_create(&tid, NULL, su_pthread_port_clone_main, &arg) == 0) {
+  if (pthread_create(&tid, &attr, su_pthread_port_clone_main, &arg) == 0) {
     pthread_cond_wait(arg.cv, arg.mutex);
     thread_created = 1;
   }
+  pthread_attr_destroy(&attr);
+
   pthread_mutex_unlock(arg.mutex);
 
   pthread_mutex_destroy(arg.mutex);