chore: initial commit (extracted from Launchers monorepo)
Plugin: ns7zip v2.0.0 Architectures: x86-ansi, x86-unicode, amd64-unicode License: LGPL-2.1-or-later
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
// VirtThread.h
|
||||
|
||||
#ifndef __VIRT_THREAD_H
|
||||
#define __VIRT_THREAD_H
|
||||
|
||||
#include "../../Windows/Synchronization.h"
|
||||
#include "../../Windows/Thread.h"
|
||||
|
||||
struct CVirtThread
|
||||
{
|
||||
NWindows::NSynchronization::CAutoResetEvent StartEvent;
|
||||
NWindows::NSynchronization::CAutoResetEvent FinishedEvent;
|
||||
NWindows::CThread Thread;
|
||||
bool Exit;
|
||||
|
||||
~CVirtThread() { WaitThreadFinish(); }
|
||||
void WaitThreadFinish(); // call it in destructor of child class !
|
||||
WRes Create();
|
||||
void Start();
|
||||
virtual void Execute() = 0;
|
||||
void WaitExecuteFinish() { FinishedEvent.Lock(); }
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user