int SrsThreadContext::generate_id() { static int id = 100; int gid = id++; cache[st_thread_self()] = gid; return gid; }
/* Obtain the current thread id */ TSRM_API THREAD_T tsrm_thread_id(void) {/*{{{*/ #ifdef TSRM_WIN32 return GetCurrentThreadId(); #elif defined(GNUPTH) return pth_self(); #elif defined(PTHREADS) return pthread_self(); #elif defined(TSRM_ST) return st_thread_self(); #endif }/*}}}*/
int SrsThreadContext::set_id(int v) { st_thread_t self = st_thread_self(); int ov = 0; if (cache.find(self) != cache.end()) { ov = cache[self]; } cache[self] = v; return ov; }
/* Obtain the current thread id */ TSRM_API THREAD_T tsrm_thread_id(void) { #ifdef TSRM_WIN32 return GetCurrentThreadId(); #elif defined(GNUPTH) return pth_self(); #elif defined(PTHREADS) return pthread_self(); #elif defined(NSAPI) return systhread_current(); #elif defined(PI3WEB) return PIThread_getCurrent(); #elif defined(TSRM_ST) return st_thread_self(); #elif defined(BETHREADS) return find_thread(NULL); #endif }
int SrsThreadContext::get_id() { return cache[st_thread_self()]; }
void SrsThreadContext::generate_id() { static int id = 100; cache[st_thread_self()] = id++; }