diff --git a/crnlib/crn_threading_pthreads.cpp b/crnlib/crn_threading_pthreads.cpp index 9b1b8128..8d02d316 100644 --- a/crnlib/crn_threading_pthreads.cpp +++ b/crnlib/crn_threading_pthreads.cpp @@ -32,6 +32,7 @@ void crn_threading_init() { #else g_number_of_processors = 1; #endif + g_number_of_processors = math::minimum(g_number_of_processors, task_pool::cMaxThreads); } crn_thread_id_t crn_get_current_thread_id() { diff --git a/crnlib/crn_threading_win32.cpp b/crnlib/crn_threading_win32.cpp index d1730a37..50c114e9 100644 --- a/crnlib/crn_threading_win32.cpp +++ b/crnlib/crn_threading_win32.cpp @@ -13,6 +13,7 @@ void crn_threading_init() { GetSystemInfo(&g_system_info); g_number_of_processors = math::maximum(1U, g_system_info.dwNumberOfProcessors); + g_number_of_processors = math::minimum(g_number_of_processors, task_pool::cMaxThreads); } crn_thread_id_t crn_get_current_thread_id() {