~Music() { for (eventMap_t::iterator i = loop.begin(); i != loop.end(); ++i) { delete i->second; } csoundDestroyMutex(mutex); }
int CsoundPerformanceThread::Join() { int retval; retval = status; if (perfThread) { pthread_cond_signal(&recordData.condvar); retval = csoundJoinThread(perfThread); perfThread = (void*) 0; } // delete any pending messages { CsoundPerformanceThreadMessage *msg; msg = (CsoundPerformanceThreadMessage*) firstMessage; firstMessage = (CsoundPerformanceThreadMessage*) 0; lastMessage = (CsoundPerformanceThreadMessage*) 0; while (msg) { CsoundPerformanceThreadMessage *nxt = msg->nxt; delete msg; msg = nxt; } } // delete all thread locks if (queueLock) { csoundDestroyMutex(queueLock); queueLock = (void*) 0; } if (pauseLock) { csoundNotifyThreadLock(pauseLock); csoundDestroyThreadLock(pauseLock); pauseLock = (void*) 0; } if (flushLock) { csoundNotifyThreadLock(flushLock); csoundDestroyThreadLock(flushLock); flushLock = (void*) 0; } return retval; }