[idd] common: use CSRWLock throughout the drivers

Make CSRWLock own the native lock and provide scoped guards for shared,
exclusive, early-unlock, and non-blocking use.

Replace direct SRW lock management throughout the IDD, input driver,
and helper while preserving the existing lock scopes.
This commit is contained in:
Geoffrey McRae
2026-08-11 22:06:31 +10:00
parent 2543366f5f
commit 61a49ebaba
37 changed files with 576 additions and 525 deletions

View File

@@ -26,6 +26,7 @@
#include <vector>
#include "CPipeEndpoint.h"
#include "CSRWLock.h"
#include "PipeMsg.h"
class CDeviceContext;
@@ -34,10 +35,10 @@ class CPipeServer : private IPipeEndpointHandler
{
private:
CPipeEndpoint m_endpoint;
SRWLOCK m_queueLock = SRWLOCK_INIT;
CSRWLock m_queueLock;
std::vector<LGPipeMsg> m_queue;
SRWLOCK m_deviceContextLock = SRWLOCK_INIT;
CSRWLock m_deviceContextLock;
CDeviceContext * m_deviceContext = nullptr;
void WriteMsg(const LGPipeMsg & msg);