aboutsummaryrefslogtreecommitdiff
path: root/src/win/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/win/util.c')
-rw-r--r--src/win/util.c27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/win/util.c b/src/win/util.c
index da1238d3..9e3daac8 100644
--- a/src/win/util.c
+++ b/src/win/util.c
@@ -378,10 +378,15 @@ done:
static int uv__get_process_title(void) {
WCHAR title_w[MAX_TITLE_LENGTH];
DWORD wlen;
+ DWORD err;
+ SetLastError(ERROR_SUCCESS);
wlen = GetConsoleTitleW(title_w, sizeof(title_w) / sizeof(WCHAR));
- if (wlen == 0)
- return uv_translate_sys_error(GetLastError());
+ if (wlen == 0) {
+ err = GetLastError();
+ if (err != 0)
+ return uv_translate_sys_error(err);
+ }
return uv__convert_utf16_to_utf8(title_w, wlen, &process_title);
}
@@ -508,8 +513,8 @@ int uv_uptime(double* uptime) {
unsigned int uv_available_parallelism(void) {
DWORD_PTR procmask;
DWORD_PTR sysmask;
- int count;
- int i;
+ unsigned count;
+ unsigned i;
/* TODO(bnoordhuis) Use GetLogicalProcessorInformationEx() to support systems
* with > 64 CPUs? See https://github.com/libuv/libuv/pull/3458
@@ -867,12 +872,6 @@ int uv_interface_addresses(uv_interface_address_t** addresses_ptr,
}
-void uv_free_interface_addresses(uv_interface_address_t* addresses,
- int count) {
- uv__free(addresses);
-}
-
-
int uv_getrusage(uv_rusage_t *uv_rusage) {
FILETIME create_time, exit_time, kernel_time, user_time;
SYSTEMTIME kernel_system_time, user_system_time;
@@ -1713,6 +1712,9 @@ int uv_os_uname(uv_utsname_t* buffer) {
case PROCESSOR_ARCHITECTURE_ARM:
uv__strscpy(buffer->machine, "arm", sizeof(buffer->machine));
break;
+ case PROCESSOR_ARCHITECTURE_ARM64:
+ uv__strscpy(buffer->machine, "arm64", sizeof(buffer->machine));
+ break;
default:
uv__strscpy(buffer->machine, "unknown", sizeof(buffer->machine));
break;
@@ -1745,10 +1747,13 @@ int uv_gettimeofday(uv_timeval64_t* tv) {
return 0;
}
-int uv__random_rtlgenrandom(void* buf, size_t buflen) {
+int uv__random_winrandom(void* buf, size_t buflen) {
if (buflen == 0)
return 0;
+ if (pProcessPrng != NULL && pProcessPrng(buf, buflen))
+ return 0;
+
if (SystemFunction036(buf, buflen) == FALSE)
return UV_EIO;