mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-03 22:28:46 +00:00
manually start merging core_net
This commit is contained in:
@@ -485,3 +485,24 @@ run_as_user :: proc(username, password, application, commandline: string, pi: ^P
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
ensure_winsock_initialized :: proc() {
|
||||
@static gate := false
|
||||
@static initted := false
|
||||
|
||||
if initted {
|
||||
return
|
||||
}
|
||||
|
||||
for intrinsics.atomic_compare_exchange_strong(&gate, false, true) {
|
||||
intrinsics.cpu_relax()
|
||||
}
|
||||
defer intrinsics.atomic_store(&gate, false)
|
||||
|
||||
unused_info: WSADATA
|
||||
version_requested := WORD(2) << 8 | 2
|
||||
res := WSAStartup(version_requested, &unused_info)
|
||||
assert(res == 0, "unable to initialized Winsock2")
|
||||
|
||||
initted = true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user