Blender V2.61 - r43446
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes

ThreadQueue< T > Class Template Reference

#include <util_thread.h>

Inheritance diagram for ThreadQueue< T >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 ThreadQueue ()
void push (const T &value)
void wait_done ()
void stop ()
void cancel ()
bool worker_wait_pop (T &value)
void worker_done ()
bool worker_cancel ()

Public Attributes

GSQueuequeue
pthread_mutex_t mutex
pthread_cond_t cond
int nowait

Protected Member Functions

void clear ()

Protected Attributes

std::queue< T > queue
thread_mutex queue_mutex
thread_mutex done_mutex
thread_condition_variable queue_cond
thread_condition_variable done_cond
volatile bool do_stop
volatile bool do_cancel
volatile int tot
volatile int tot_done

Detailed Description

template<typename T>
class ThreadQueue< T >

Definition at line 529 of file threads.c.


Constructor & Destructor Documentation

template<typename T>
ThreadQueue< T >::ThreadQueue ( ) [inline]

Definition at line 55 of file util_thread.h.


Member Function Documentation

template<typename T>
void ThreadQueue< T >::cancel ( ) [inline]

Definition at line 94 of file util_thread.h.

Referenced by CPUDevice::task_cancel().

template<typename T>
void ThreadQueue< T >::clear ( ) [inline, protected]
template<typename T>
void ThreadQueue< T >::push ( const T &  value) [inline]

Definition at line 66 of file util_thread.h.

Referenced by DeviceTask::split().

template<typename T>
void ThreadQueue< T >::stop ( void  ) [inline]

Definition at line 86 of file util_thread.h.

Referenced by CPUDevice::~CPUDevice().

template<typename T>
void ThreadQueue< T >::wait_done ( ) [inline]

Definition at line 77 of file util_thread.h.

Referenced by ThreadQueue< DeviceTask >::cancel(), and CPUDevice::task_wait().

template<typename T>
bool ThreadQueue< T >::worker_cancel ( ) [inline]

Definition at line 143 of file util_thread.h.

Referenced by CPUDevice::thread_path_trace(), and CPUDevice::thread_shader().

template<typename T>
void ThreadQueue< T >::worker_done ( ) [inline]

Definition at line 132 of file util_thread.h.

Referenced by CPUDevice::thread_run().

template<typename T>
bool ThreadQueue< T >::worker_wait_pop ( T &  value) [inline]

Definition at line 116 of file util_thread.h.

Referenced by CPUDevice::thread_run().


Member Data Documentation

template<typename T>
pthread_cond_t ThreadQueue< T >::cond
template<typename T>
volatile bool ThreadQueue< T >::do_cancel [protected]
template<typename T>
volatile bool ThreadQueue< T >::do_stop [protected]
template<typename T>
thread_condition_variable ThreadQueue< T >::done_cond [protected]
template<typename T>
thread_mutex ThreadQueue< T >::done_mutex [protected]
template<typename T>
pthread_mutex_t ThreadQueue< T >::mutex
template<typename T>
int ThreadQueue< T >::nowait
template<typename T>
GSQueue* ThreadQueue< T >::queue
template<typename T>
std::queue<T> ThreadQueue< T >::queue [protected]

Definition at line 164 of file util_thread.h.

template<typename T>
thread_condition_variable ThreadQueue< T >::queue_cond [protected]
template<typename T>
thread_mutex ThreadQueue< T >::queue_mutex [protected]
template<typename T>
volatile int ThreadQueue< T >::tot [protected]
template<typename T>
volatile int ThreadQueue< T >::tot_done [protected]

The documentation for this class was generated from the following files: