diff options
author | Michael Dickens <mlk@alum.mit.edu> | 2014-04-24 10:08:39 -0400 |
---|---|---|
committer | Tom Rondeau <tom@trondeau.com> | 2014-04-24 14:51:34 -0400 |
commit | e4ce0b18808c65ea52602a28207fe9d5c0292ffe (patch) | |
tree | f86b76d2583f10ad4970ec826edb01a234eb9dfc /gnuradio-runtime/lib/thread | |
parent | b56927aa1269d91a105381d6798d4671ff220da1 (diff) |
runtime: enable thread priority, same as with Linux; fix header comments to this effect
Diffstat (limited to 'gnuradio-runtime/lib/thread')
-rw-r--r-- | gnuradio-runtime/lib/thread/thread.cc | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/gnuradio-runtime/lib/thread/thread.cc b/gnuradio-runtime/lib/thread/thread.cc index 8d1ef767a7..1b3ebe57d3 100644 --- a/gnuradio-runtime/lib/thread/thread.cc +++ b/gnuradio-runtime/lib/thread/thread.cc @@ -167,15 +167,23 @@ namespace gr { int thread_priority(gr_thread_t thread) { - // Not implemented on OSX - return -1; + sched_param param; + int priority; + int policy; + int ret; + ret = pthread_getschedparam (thread, &policy, ¶m); + priority = param.sched_priority; + return (ret==0)?priority:ret; } int set_thread_priority(gr_thread_t thread, int priority) { - // Not implemented on OSX - return -1; + int policy; + struct sched_param param; + pthread_getschedparam (thread, &policy, ¶m); + param.sched_priority = priority; + return pthread_setschedparam(thread, policy, ¶m); } } /* namespace thread */ |