调用路线
UDT::startup()->CUDT::startup()->CUDTUnited::startup()
3 | return CUDT::startup(); |
3 | return s_UDTUnited.startup(); |
1 | int CUDTUnited::startup() |
6 | CGuard gcinit(m_InitLock); |
9 | if (m_iInstanceCount++ > 0) |
20 | WORD wVersionRequested; |
22 | wVersionRequested = MAKEWORD(2, 2); |
24 | if (0 != WSAStartup(wVersionRequested, &wsaData)) |
25 | throw CUDTException(1, 0, WSAGetLastError()); |
37 | pthread_mutex_init(&m_GCStopLock, NULL); |
38 | pthread_cond_init(&m_GCStopCond, NULL); |
39 | pthread_create(&m_GCThread, NULL, garbageCollect, this ); |
41 | m_GCStopLock = CreateMutex(NULL, false , NULL); |
42 | m_GCStopCond = CreateEvent(NULL, false , false , NULL); |
44 | m_GCThread = CreateThread(NULL, 0, garbageCollect, this , 0, &ThreadID); |