diff --git a/m-mutex.h b/m-mutex.h index de51e556..70abf308 100644 --- a/m-mutex.h +++ b/m-mutex.h @@ -263,7 +263,8 @@ static inline void m_thread_yield(void) static inline bool m_thread_sleep(unsigned long long usec) { LARGE_INTEGER ft; - ft.QuadPart = -(10ULL*usec); + assert (usec <= LLONG_MAX); + ft.QuadPart = -(10LL*(long long) usec); HANDLE hd = CreateWaitableTimer(NULL, TRUE, NULL); M_ASSERT_INIT (hd != NULL, "timer"); SetWaitableTimer(hd, &ft, 0, NULL, NULL, 0); diff --git a/m-worker.h b/m-worker.h index 2196fd5e..cd0b480b 100644 --- a/m-worker.h +++ b/m-worker.h @@ -179,7 +179,8 @@ workeri_get_cpu_count(void) #if defined(_WIN32) SYSTEM_INFO sysinfo; GetSystemInfo(&sysinfo); - return sysinfo.dwNumberOfProcessors; + assert(sysinfo.dwNumberOfProcessors <= INT_MAX); + return (int) sysinfo.dwNumberOfProcessors; #elif defined(M_USE_WORKER_SYSCTL) int nm[2]; int count = 0;