windows fixes for priority - needs to be revisited when apr and pthread versions support calls.

This commit is contained in:
Jeff Lenk 2012-10-01 20:34:15 -05:00
parent 52eff9451c
commit 5620d6d063
2 changed files with 13 additions and 0 deletions

View File

@ -268,7 +268,10 @@ int su_pthreaded_port_start(su_port_create_f *create,
pthread_mutex_lock(arg.mutex); pthread_mutex_lock(arg.mutex);
if (pthread_create(&tid, &attr, su_pthread_port_clone_main, &arg) == 0) { if (pthread_create(&tid, &attr, su_pthread_port_clone_main, &arg) == 0) {
#ifndef WIN32
/* this needs to be revisited when pthread for windows supports thread priority settings */
pthread_setschedprio(tid, 99); pthread_setschedprio(tid, 99);
#endif
pthread_cond_wait(arg.cv, arg.mutex); pthread_cond_wait(arg.cv, arg.mutex);
thread_created = 1; thread_created = 1;
} }

View File

@ -620,6 +620,14 @@ struct apr_threadattr_t {
pthread_attr_t attr; pthread_attr_t attr;
int priority; int priority;
}; };
#else
/* this needs to be revisited when apr for windows supports thread priority settings */
/* search for WIN32 in this file */
struct apr_threadattr_t {
apr_pool_t *pool;
apr_int32_t detach;
apr_size_t stacksize;
};
#endif #endif
@ -628,7 +636,9 @@ SWITCH_DECLARE(switch_status_t) switch_threadattr_create(switch_threadattr_t **
switch_status_t status; switch_status_t status;
if ((status = apr_threadattr_create(new_attr, pool)) == SWITCH_STATUS_SUCCESS) { if ((status = apr_threadattr_create(new_attr, pool)) == SWITCH_STATUS_SUCCESS) {
#ifndef WIN32
(*new_attr)->priority = SWITCH_PRI_NORMAL; (*new_attr)->priority = SWITCH_PRI_NORMAL;
#endif
} }
return status; return status;