diff options
Diffstat (limited to 'src/libs/7zip/win/CPP/7zip/Common/VirtThread.cpp')
-rw-r--r-- | src/libs/7zip/win/CPP/7zip/Common/VirtThread.cpp | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/src/libs/7zip/win/CPP/7zip/Common/VirtThread.cpp b/src/libs/7zip/win/CPP/7zip/Common/VirtThread.cpp deleted file mode 100644 index 77e3c1acf..000000000 --- a/src/libs/7zip/win/CPP/7zip/Common/VirtThread.cpp +++ /dev/null @@ -1,48 +0,0 @@ -// VirtThread.cpp - -#include "StdAfx.h" - -#include "VirtThread.h" - -static THREAD_FUNC_DECL CoderThread(void *p) -{ - for (;;) - { - CVirtThread *t = (CVirtThread *)p; - t->StartEvent.Lock(); - if (t->Exit) - return 0; - t->Execute(); - t->FinishedEvent.Set(); - } -} - -WRes CVirtThread::Create() -{ - RINOK(StartEvent.CreateIfNotCreated()); - RINOK(FinishedEvent.CreateIfNotCreated()); - StartEvent.Reset(); - FinishedEvent.Reset(); - Exit = false; - if (Thread.IsCreated()) - return S_OK; - return Thread.Create(CoderThread, this); -} - -void CVirtThread::Start() -{ - Exit = false; - StartEvent.Set(); -} - -void CVirtThread::WaitThreadFinish() -{ - Exit = true; - if (StartEvent.IsCreated()) - StartEvent.Set(); - if (Thread.IsCreated()) - { - Thread.Wait(); - Thread.Close(); - } -} |