| 147 | static mutex Mutex; |
| 148 | |
| 149 | bool Net::InitializeNetwork(Exception& ex) { |
| 150 | lock_guard<mutex> lock(Mutex); |
| 151 | if (Initialized) |
| 152 | return true; |
| 153 | WORD version = MAKEWORD(2, 2); |
| 154 | WSADATA data; |
| 155 | if (WSAStartup(version, &data) != 0) { |
| 156 | ex.set(Exception::NETWORK, "Failed to initialize network subsystem"); |
| 157 | return false; |
| 158 | } |
| 159 | return Initialized = true; |
| 160 | } |
| 161 | |
| 162 | class NetUninitializer { |
| 163 | public: |