gr::thread
gr::thread::thread_body_wrapper
gr::thread::thread_group
boost::thread typedef boost::thread gr::thread::thread thread gr::thread::thread
boost::mutex typedef boost::mutex gr::thread::mutex mutex gr::thread::mutex
boost::unique_lock< boost::mutex > typedef boost::unique_lock<boost::mutex> gr::thread::scoped_lock scoped_lock gr::thread::scoped_lock
boost::condition_variable typedef boost::condition_variable gr::thread::condition_variable condition_variable gr::thread::condition_variable
boost::barrier typedef boost::barrier gr::thread::barrier barrier gr::thread::barrier
pthread_t typedef pthread_t gr::thread::gr_thread_t gr_thread_t gr::thread::gr_thread_t

a system-dependent typedef for the underlying thread type.

GR_RUNTIME_API gr_thread_t GR_RUNTIME_API gr_thread_t gr::thread::get_current_thread_id () get_current_thread_id gr::thread::get_current_thread_id

Get the current thread's ID as a gr_thread_t.

We use this when setting the thread affinity or any other low-level thread settings. Can be called within a GNU Radio block to get a reference to its current thread ID.

GR_RUNTIME_API void GR_RUNTIME_API void gr::thread::thread_bind_to_processor (const std::vector< int > &mask) thread_bind_to_processor gr::thread::thread_bind_to_processor const std::vector< int > & mask

Bind the current thread to a set of cores.

Wrapper for system-dependent calls to set the affinity of the current thread to the processor mask. The mask is simply a 1-demensional vector containing the processor or core number from 0 to N-1 for N cores.

Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion).

GR_RUNTIME_API void GR_RUNTIME_API void gr::thread::thread_bind_to_processor (int n) thread_bind_to_processor gr::thread::thread_bind_to_processor int n

Convineince function to bind the current thread to a single core.

Wrapper for system-dependent calls to set the affinity of the current thread to a given core from 0 to N-1 for N cores.

Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion).

GR_RUNTIME_API void GR_RUNTIME_API void gr::thread::thread_bind_to_processor (gr_thread_t thread, const std::vector< int > &mask) thread_bind_to_processor gr::thread::thread_bind_to_processor gr_thread_t thread const std::vector< int > & mask

Bind a thread to a set of cores.

Wrapper for system-dependent calls to set the affinity of the given thread ID to the processor mask. The mask is simply a 1-demensional vector containing the processor or core number from 0 to N-1 for N cores.

Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion).

GR_RUNTIME_API void GR_RUNTIME_API void gr::thread::thread_bind_to_processor (gr_thread_t thread, unsigned int n) thread_bind_to_processor gr::thread::thread_bind_to_processor gr_thread_t thread unsigned int n

Convineince function to bind the a thread to a single core.

Wrapper for system-dependent calls to set the affinity of the given thread ID to a given core from 0 to N-1 for N cores.

Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion).

GR_RUNTIME_API void GR_RUNTIME_API void gr::thread::thread_unbind () thread_unbind gr::thread::thread_unbind

Remove any thread-processor affinity for the current thread.

Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion).

GR_RUNTIME_API void GR_RUNTIME_API void gr::thread::thread_unbind (gr_thread_t thread) thread_unbind gr::thread::thread_unbind gr_thread_t thread

Remove any thread-processor affinity for a given thread ID.

Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion).

GR_RUNTIME_API int GR_RUNTIME_API int gr::thread::thread_priority (gr_thread_t thread) thread_priority gr::thread::thread_priority gr_thread_t thread

get current thread priority for a given thread ID

GR_RUNTIME_API int GR_RUNTIME_API int gr::thread::set_thread_priority (gr_thread_t thread, int priority) set_thread_priority gr::thread::set_thread_priority gr_thread_t thread int priority

set current thread priority for a given thread ID

GR_RUNTIME_API void GR_RUNTIME_API void gr::thread::set_thread_name (gr_thread_t thread, std::string name) set_thread_name gr::thread::set_thread_name gr_thread_t thread std::string name
GR_RUNTIME_API void GR_RUNTIME_API void gr::thread::mask_signals () mask_signals gr::thread::mask_signals gr::thread::thread_body_wrapper< F >::operator()