| 129 | } |
| 130 | |
| 131 | HQueue CreateQueue(dmResource::HFactory factory) |
| 132 | { |
| 133 | Queue* q = new Queue(); |
| 134 | q->m_Factory = factory; |
| 135 | q->m_Front = 0; |
| 136 | q->m_Back = 0; |
| 137 | q->m_Loaded = 0; |
| 138 | q->m_Shutdown = false; |
| 139 | q->m_BytesWaiting = 0; |
| 140 | q->m_Mutex = dmMutex::New(); |
| 141 | q->m_WakeupCond = dmConditionVariable::New(); |
| 142 | q->m_Thread = dmThread::New(&LoadThread, 128 * 1024, q, "AsyncLoad"); |
| 143 | |
| 144 | return q; |
| 145 | } |
| 146 | |
| 147 | void DeleteQueue(HQueue queue) |
| 148 | { |