There is an assertion checking for this, so allowing zero is probably not intentional.
Related to dotnet/coreclr#8236
Commit migrated from https://github.com/dotnet/coreclr/commit/
74015760d85127bdda68a520d2c0fe5f8bb667ed
CrstHolder csh(&WorkerCriticalSection);
if (MaxWorkerThreads >= (DWORD)MinLimitTotalWorkerThreads &&
- MaxIOCompletionThreads >= (DWORD)MinLimitTotalCPThreads)
+ MaxIOCompletionThreads >= (DWORD)MinLimitTotalCPThreads &&
+ MaxWorkerThreads != 0 &&
+ MaxIOCompletionThreads != 0)
{
BEGIN_SO_INTOLERANT_CODE(GetThread());