aboutsummaryrefslogtreecommitdiff
path: root/CRT/DriverThread.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'CRT/DriverThread.cpp')
-rw-r--r--CRT/DriverThread.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/CRT/DriverThread.cpp b/CRT/DriverThread.cpp
index 3a77dc8..557b270 100644
--- a/CRT/DriverThread.cpp
+++ b/CRT/DriverThread.cpp
@@ -56,6 +56,7 @@ NTSTATUS DriverThread::Thread::Start(ThreadRoutine routine, eastl::shared_ptr<Th
if (!NT_SUCCESS(status))
{
+ threadHandle = nullptr;
return status;
}
@@ -64,6 +65,7 @@ NTSTATUS DriverThread::Thread::Start(ThreadRoutine routine, eastl::shared_ptr<Th
if (!NT_SUCCESS(status))
{
+ threadHandle = nullptr;
return status;
}
@@ -85,7 +87,7 @@ NTSTATUS DriverThread::Thread::WaitForTermination(LONGLONG timeout)
LARGE_INTEGER li_timeout = {.QuadPart = timeout};
NTSTATUS status =
- KeWaitForSingleObject(m_threadObject, Executive, KernelMode, FALSE, (timeout == 0 ? NULL : &li_timeout));
+ KeWaitForSingleObject(m_threadObject, Executive, KernelMode, FALSE, &li_timeout);
ObDereferenceObject(m_threadObject);
m_threadObject = nullptr;
@@ -124,7 +126,7 @@ DriverThread::Semaphore::Semaphore(LONG initialValue, LONG maxValue)
NTSTATUS DriverThread::Semaphore::Wait(LONGLONG timeout)
{
LARGE_INTEGER li_timeout = {.QuadPart = timeout};
- return KeWaitForSingleObject(&m_semaphore, Executive, KernelMode, FALSE, (timeout == 0 ? NULL : &li_timeout));
+ return KeWaitForSingleObject(&m_semaphore, Executive, KernelMode, FALSE, &li_timeout);
}
LONG DriverThread::Semaphore::Release(LONG adjustment)
@@ -142,7 +144,7 @@ DriverThread::Event::Event()
NTSTATUS DriverThread::Event::Wait(LONGLONG timeout)
{
LARGE_INTEGER li_timeout = {.QuadPart = timeout};
- return KeWaitForSingleObject(&m_event, Executive, KernelMode, FALSE, (timeout == 0 ? NULL : &li_timeout));
+ return KeWaitForSingleObject(&m_event, Executive, KernelMode, FALSE, &li_timeout);
}
NTSTATUS DriverThread::Event::Notify()