1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 11:38:21 +02:00

ThreadPool.MaxStackSize

This commit is contained in:
Brian Fiete 2024-03-18 05:43:03 -04:00
parent a1d952b404
commit 8942c86eb5
2 changed files with 10 additions and 3 deletions

View file

@ -148,7 +148,7 @@ namespace System.Threading
SetStart((Delegate)start, 0); //0 will setup Thread with default stackSize
}
public this(ThreadStart start, int32 maxStackSize)
public this(ThreadStart start, int maxStackSize)
{
if (start == null)
{
@ -156,7 +156,7 @@ namespace System.Threading
}
if (0 > maxStackSize)
Runtime.FatalError();
SetStart((Delegate)start, maxStackSize);
SetStart((Delegate)start, (.)maxStackSize);
}
public this(ParameterizedThreadStart start)

View file

@ -40,8 +40,15 @@ namespace System.Threading
static ThreadStats sWorkerThreadStats;
static ThreadStats sIOThreadStats;
static int sMaxStackSize;
static List<WorkEntry> mWorkEntries = new List<WorkEntry>() ~ delete _;
public static int MaxStackSize
{
get => sMaxStackSize;
set => sMaxStackSize = value;
}
static this()
{
//TODO: This is really bad, fix this pool!
@ -76,7 +83,7 @@ namespace System.Threading
sWorkerThreadStats.mCount++;
sWorkerThreadStats.mActive++; // We know the thread will immediately become active
Thread thread = new Thread(new () => { WorkerProc(threadId); });
Thread thread = new Thread(new () => { WorkerProc(threadId); }, sMaxStackSize);
sThreads.Add(thread);
thread.Start(false);
}