Function callWSAStartup [src]

Prototype

pub fn callWSAStartup() !void

Source

pub fn callWSAStartup() !void { wsa_startup_mutex.lock(); defer wsa_startup_mutex.unlock(); // Here we could use a flag to prevent multiple threads to prevent // multiple calls to WSAStartup, but it doesn't matter. We're globally // leaking the resource intentionally, and the mutex already prevents // data races within the WSAStartup function. _ = WSAStartup(2, 2) catch |err| switch (err) { error.SystemNotAvailable => return error.SystemResources, error.VersionNotSupported => return error.Unexpected, error.BlockingOperationInProgress => return error.Unexpected, error.ProcessFdQuotaExceeded => return error.ProcessFdQuotaExceeded, error.Unexpected => return error.Unexpected, }; }