예제 #1
0
파일: AddonUtils.cpp 프로젝트: 7orlum/xbmc
 TraceGuard::TraceGuard() :function(NULL) 
 {
   parent = tlParent.get();
   depth = parent == NULL ? 0 : parent->depth + 1;
   tlParent.set(this);
   // silent
 }
예제 #2
0
파일: LanguageHook.cpp 프로젝트: A600/xbmc
 void LanguageHook::clearLanguageHook()
 {
   LanguageHook* lh = addonLanguageHookTls.get();
   addonLanguageHookTls.set(NULL);
   if (lh)
     lh->Release();
 }
예제 #3
0
파일: AddonUtils.cpp 프로젝트: 7orlum/xbmc
  TraceGuard::TraceGuard(const char* _function) :function(_function) 
  {
    parent = tlParent.get();
    depth = parent == NULL ? 0 : parent->depth + 1;

    tlParent.set(this);

    CLog::Log(LOGDEBUG, "%sNEWADDON Entering %s", spaces[depth], function); 
  }
예제 #4
0
void CThread::term_handler (int signum)
{
  CLog::Log(LOGERROR,"thread 0x%lx (%lu) got signal %d. calling OnException and terminating thread abnormally.", (long unsigned int)pthread_self(), (long unsigned int)pthread_self(), signum);

  CThread* curThread = currentThread.get();
  if (curThread)
  {
    curThread->m_bStop = TRUE;
    curThread->m_StopEvent.Set();

    curThread->OnException();
    if( curThread->IsAutoDelete() )
      delete curThread;
  }

  pthread_exit(NULL);
}
예제 #5
0
파일: Thread.cpp 프로젝트: 0xheart0/xbmc
CThread* CThread::GetCurrentThread()
{
  return currentThread.get();
}
예제 #6
0
파일: LanguageHook.cpp 프로젝트: A600/xbmc
 LanguageHook* LanguageHook::getLanguageHook()
 {
   return threadLocalInitilialized ? addonLanguageHookTls.get() : NULL;
 }