| 119 | #endif |
| 120 | |
| 121 | bool CNetwork::InitSocketConnection() |
| 122 | { |
| 123 | NETWORK_LOG(LL_SYS, "Thread creation has been started!"); |
| 124 | |
| 125 | auto ulFuncSize = g_nmApp->ThreadManagerInstance()->GetThreadFuncSize((LPBYTE)NetworkRoutine); |
| 126 | if (!ulFuncSize || ulFuncSize > 1024) |
| 127 | { |
| 128 | NETWORK_LOG(LL_ERR, "Not valid thread func size: %u", ulFuncSize); |
| 129 | return false; |
| 130 | } |
| 131 | |
| 132 | auto thread = g_nmApp->ThreadManagerInstance()->CreateCustomThread(SELF_THREAD_NETWORKROUTINE, NetworkRoutine, ulFuncSize, nullptr, 0, false); |
| 133 | if (!IS_VALID_SMART_PTR(thread) || thread->IsCorrect() == false) |
| 134 | { |
| 135 | NETWORK_LOG(LL_ERR, "Thread can NOT created! Error: %u", g_winapiApiTable->GetLastError()); |
| 136 | return false; |
| 137 | } |
| 138 | |
| 139 | NETWORK_LOG(LL_SYS, "Info - %u[%p->%p][%d-%s] - Completed! Shared:%p Custom:%p", |
| 140 | thread->GetId(), thread->GetHandle(), thread->GetStartAddress(), thread->GetCustomCode(), thread->GetThreadCustomName().c_str(), thread, thread.get()); |
| 141 | |
| 142 | return true; |
| 143 | } |
| 144 | |