nux-0.9.48

NuxCore/ThreadGNU.h File Reference

#include "ObjectType.h"

Go to the source code of this file.

Data Structures

class  nux::NThreadSafeCounter
class  nux::NCriticalSection
class  nux::NScopeLock
 Scope Lock class. More...
class  nux::NThreadLocalStorage
class  nux::NThread
class  nux::NThread::NThreadContext

Namespaces

namespace  nux

Defines

#define inlDeclareThreadLocalStorage(type, index, name)
#define inlRegisterThreadLocalIndex(index, name, shutdownCallback)
#define inlGetThreadLocalStorage(name)   GetTLS_##name()
#define inlSetThreadLocalStorage(name, value)   SetTLS_##name(value)
#define nuxAssertInsideThread(threadtype)   ((void) 0)
#define nuxAssertInsideThread2(threadtype1, threadtype2)   ((void) 0)
#define nuxAssertNotInsideThread(threadtype)   ((void) 0)

Typedefs

typedef void *(* nux::ThreadRoutineFunc )(void *)

Enumerations

enum  nux::ThreadState {
  nux::THREADINIT, nux::THREADRUNNING, nux::THREADSUSPENDED, nux::THREADSTOP,
  nux::THREAD_START_ERROR, nux::THREAD_STOP_ERROR, nux::THREAD_SUSPEND_ERROR, nux::THREAD_RESUME_ERROR
}

Define Documentation

#define inlDeclareThreadLocalStorage (   type,
  index,
  name 
)
Value:
struct          ThreadLocalStorageDef##name { enum Const { Index = index}; };\
inline          type GetTLS_##name() { return nux::NThreadLocalStorage::GetData<type>(ThreadLocalStorageDef##name::Index); }\
inline          void SetTLS_##name(type value) { nux::NThreadLocalStorage::SetData<type>(ThreadLocalStorageDef##name::Index, value); }
#define inlGetThreadLocalStorage (   name)    GetTLS_##name()
#define inlRegisterThreadLocalIndex (   index,
  name,
  shutdownCallback 
)
Value:
nuxVerifyExpr(index == ThreadLocalStorageDef##name::Index); \
    nuxVerifyExpr(nux::NThreadLocalStorage::RegisterTLS(index, shutdownCallback))
#define inlSetThreadLocalStorage (   name,
  value 
)    SetTLS_##name(value)
#define nuxAssertInsideThread (   threadtype)    ((void) 0)
#define nuxAssertInsideThread2 (   threadtype1,
  threadtype2 
)    ((void) 0)
#define nuxAssertNotInsideThread (   threadtype)    ((void) 0)