diff -r 8836386d6e3f -r 7a432595fb66 src/Pure/Concurrent/multithreading.ML --- a/src/Pure/Concurrent/multithreading.ML Thu Feb 15 08:25:25 2024 +0100 +++ b/src/Pure/Concurrent/multithreading.ML Thu Feb 15 09:53:58 2024 +0100 @@ -26,9 +26,10 @@ (* physical processors *) fun num_processors () = - (case Thread.Thread.numPhysicalProcessors () of - SOME n => n - | NONE => Thread.Thread.numProcessors ()); + Int.max + (case Thread.Thread.numPhysicalProcessors () of + SOME n => n + | NONE => Thread.Thread.numProcessors (), 1); (* max_threads *) @@ -38,7 +39,7 @@ fun max_threads_result m = if Thread_Data.is_virtual then 1 else if m > 0 then m - else Int.min (Int.max (num_processors (), 1), 8); + else Int.min (num_processors (), 8); val max_threads_state = ref 1;