提交 0263ce92 authored 作者: Seven Du's avatar Seven Du

FS-4695 fix apple build, seems there's no pthread_setschedprio on Mac, not sure…

FS-4695 fix apple build, seems there's no pthread_setschedprio on Mac, not sure if windows has the same problem in apr/threadproc/unix/thread.c
上级 da0ff2d6
...@@ -174,10 +174,12 @@ APR_DECLARE(apr_status_t) apr_thread_create(apr_thread_t **new, ...@@ -174,10 +174,12 @@ APR_DECLARE(apr_status_t) apr_thread_create(apr_thread_t **new,
} }
if ((stat = pthread_create((*new)->td, temp, dummy_worker, (*new))) == 0) { if ((stat = pthread_create((*new)->td, temp, dummy_worker, (*new))) == 0) {
#ifndef __APPLE__
if (attr->priority) { if (attr->priority) {
pthread_t *thread = (*new)->td; pthread_t *thread = (*new)->td;
pthread_setschedprio(*thread, attr->priority); pthread_setschedprio(*thread, attr->priority);
} }
#endif
return APR_SUCCESS; return APR_SUCCESS;
} }
......
...@@ -268,8 +268,12 @@ int su_pthreaded_port_start(su_port_create_f *create, ...@@ -268,8 +268,12 @@ 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 */ #if defined (WIN32)
/* this needs to be revisited when pthread for Windows supports thread priority settings */
#elif defined (__APPLE__)
/* no such function on Apple */
#else
pthread_setschedprio(tid, 99); pthread_setschedprio(tid, 99);
#endif #endif
pthread_cond_wait(arg.cv, arg.mutex); pthread_cond_wait(arg.cv, arg.mutex);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论