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