Fix SQL modules threading system.

This commit is contained in:
HttrckCldHKS
2015-02-17 16:04:42 +02:00
parent af6c6850ec
commit 3fc438ffd1
7 changed files with 19 additions and 11 deletions

View File

@ -12,7 +12,7 @@
#include "BaseWorker.h"
#define DEFAULT_THINK_TIME_MS 500
#define DEFAULT_THINK_TIME_MS 25
class ThreadWorker : public BaseWorker, public IThread
{

View File

@ -28,6 +28,8 @@ void ShutdownThreading()
{
if (g_pWorker)
{
// Flush all the remaining job fast!
g_pWorker->SetMaxThreadsPerFrame(8192);
g_pWorker->Stop(true);
delete g_pWorker;
g_pWorker = NULL;
@ -293,7 +295,7 @@ void OnPluginsLoaded()
g_QueueLock = g_Threader.MakeMutex();
}
g_pWorker = new ThreadWorker(&g_Threader, 250);
g_pWorker = new ThreadWorker(&g_Threader, DEFAULT_THINK_TIME_MS);
if (!g_pWorker->Start())
{
delete g_pWorker;
@ -310,7 +312,7 @@ void StartFrame()
{
if (g_pWorker && (g_lasttime < gpGlobals->time))
{
g_lasttime = gpGlobals->time + 0.05f;
g_lasttime = gpGlobals->time + 0.025f;
g_QueueLock->Lock();
size_t remaining = g_ThreadQueue.size();
if (remaining)
@ -341,6 +343,8 @@ void OnPluginsUnloading()
return;
}
// Flush all the remaining job fast!
g_pWorker->SetMaxThreadsPerFrame(8192);
g_pWorker->Stop(false);
delete g_pWorker;
g_pWorker = NULL;