Update to the latest SourcePawn and AMTL.
This commit is contained in:
@@ -537,7 +537,9 @@ bool DBManager::AddToThreadQueue(IDBThreadOperation *op, PrioQueueLevel prio)
|
||||
|
||||
if (!m_Worker)
|
||||
{
|
||||
m_Worker = new ke::Thread(this, "SM SQL Worker");
|
||||
m_Worker = new ke::Thread([this]() -> void {
|
||||
Run();
|
||||
}, "SM SQL Worker");
|
||||
if (!m_Worker->Succeeded())
|
||||
{
|
||||
if (!s_OneTimeThreaderErrorMsg)
|
||||
|
||||
@@ -65,8 +65,7 @@ class DBManager :
|
||||
public SMGlobalClass,
|
||||
public IHandleTypeDispatch,
|
||||
public ITextListener_SMC,
|
||||
public IPluginsListener,
|
||||
public ke::IRunnable
|
||||
public IPluginsListener
|
||||
{
|
||||
public:
|
||||
DBManager();
|
||||
|
||||
@@ -107,16 +107,20 @@ IThreadHandle *PosixThreader::MakeThread(IThread *pThread, const ThreadParams *p
|
||||
if (params == NULL)
|
||||
params = &g_defparams;
|
||||
|
||||
ke::AutoPtr<ThreadHandle> pHandle(new ThreadHandle(this, pThread, params));
|
||||
ThreadHandle* pHandle = new ThreadHandle(this, pThread, params);
|
||||
|
||||
pHandle->m_thread = new ke::Thread(pHandle.get(), "SourceMod");
|
||||
if (!pHandle->m_thread->Succeeded())
|
||||
pHandle->m_thread = new ke::Thread([pHandle]() -> void {
|
||||
pHandle->Run();
|
||||
}, "SourceMod");
|
||||
if (!pHandle->m_thread->Succeeded()) {
|
||||
delete pHandle;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!(params->flags & Thread_CreateSuspended))
|
||||
pHandle->Unpause();
|
||||
|
||||
return pHandle.take();
|
||||
return pHandle;
|
||||
}
|
||||
|
||||
IEventSignal *PosixThreader::MakeEventSignal()
|
||||
|
||||
@@ -41,7 +41,7 @@ using namespace SourceMod;
|
||||
class PosixThreader : public IThreader
|
||||
{
|
||||
public:
|
||||
class ThreadHandle : public IThreadHandle, public ke::IRunnable
|
||||
class ThreadHandle : public IThreadHandle
|
||||
{
|
||||
friend class PosixThreader;
|
||||
public:
|
||||
|
||||
@@ -106,11 +106,15 @@ IThreadHandle *WinThreader::MakeThread(IThread *pThread, const ThreadParams *par
|
||||
if (params == NULL)
|
||||
params = &g_defparams;
|
||||
|
||||
ke::AutoPtr<ThreadHandle> pHandle(new ThreadHandle(this, pThread, params));
|
||||
ThreadHandle* pHandle = new ThreadHandle(this, pThread, params);
|
||||
|
||||
pHandle->m_thread = new ke::Thread(pHandle.get(), "SourceMod");
|
||||
if (!pHandle->m_thread->Succeeded())
|
||||
return NULL;
|
||||
pHandle->m_thread = new ke::Thread([pHandle]() -> void {
|
||||
pHandle->Run();
|
||||
}, "SourceMod");
|
||||
if (!pHandle->m_thread->Succeeded()) {
|
||||
delete pHandle;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (pHandle->m_params.prio != ThreadPrio_Normal)
|
||||
pHandle->SetPriority(pHandle->m_params.prio);
|
||||
@@ -118,7 +122,7 @@ IThreadHandle *WinThreader::MakeThread(IThread *pThread, const ThreadParams *par
|
||||
if (!(params->flags & Thread_CreateSuspended))
|
||||
pHandle->Unpause();
|
||||
|
||||
return pHandle.take();
|
||||
return pHandle;
|
||||
}
|
||||
|
||||
IEventSignal *WinThreader::MakeEventSignal()
|
||||
|
||||
@@ -42,7 +42,7 @@ using namespace SourceMod;
|
||||
class WinThreader : public IThreader
|
||||
{
|
||||
public:
|
||||
class ThreadHandle : public IThreadHandle, public ke::IRunnable
|
||||
class ThreadHandle : public IThreadHandle
|
||||
{
|
||||
friend class WinThreader;
|
||||
friend DWORD WINAPI Win32_ThreadGate(LPVOID param);
|
||||
|
||||
+1
-1
Submodule public/amtl updated: 522057068a...ae57753e79
+1
-1
Submodule sourcepawn updated: c0cfda8753...594bfbb5e4
Reference in New Issue
Block a user