Publish curated LumaOps source from c85ee9ef8f1454f5c305398902afbb9e6738de40
Managed validation / full (push) Failing after 8s
Managed validation / full (push) Failing after 8s
This commit is contained in:
1 parent
91f8b3e3c1
commit
def7920856
2271 files changed
+501225
-501178
No files matched your search
@@ -1,64 +1,64 @@
|
||||
/*---------------------------------------------------------*\
|
||||
| CorsairDeviceGuard.cpp |
|
||||
| |
|
||||
| DeviceGuard for Corsair devices |
|
||||
| |
|
||||
| Evan Mulawski 04 Sep 2023 |
|
||||
| |
|
||||
| This file is part of the OpenRGB project |
|
||||
| SPDX-License-Identifier: GPL-2.0-or-later |
|
||||
\*---------------------------------------------------------*/
|
||||
|
||||
#include "CorsairDeviceGuard.h"
|
||||
|
||||
CorsairDeviceGuard::CorsairDeviceGuard() : DeviceGuard()
|
||||
{
|
||||
#ifdef _WIN32
|
||||
mutex_handle = CreateWindowsMutex();
|
||||
#endif
|
||||
}
|
||||
|
||||
void CorsairDeviceGuard::Acquire()
|
||||
{
|
||||
#ifdef _WIN32
|
||||
while(true)
|
||||
{
|
||||
DWORD result = WaitForSingleObject(mutex_handle, INFINITE);
|
||||
|
||||
if(result == WAIT_OBJECT_0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if(result == WAIT_ABANDONED)
|
||||
{
|
||||
ReleaseMutex(mutex_handle);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void CorsairDeviceGuard::Release()
|
||||
{
|
||||
#ifdef _WIN32
|
||||
ReleaseMutex(mutex_handle);
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
HANDLE CorsairDeviceGuard::CreateWindowsMutex()
|
||||
{
|
||||
SECURITY_DESCRIPTOR sd;
|
||||
InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION);
|
||||
SetSecurityDescriptorDacl(&sd, TRUE, NULL, FALSE);
|
||||
|
||||
SECURITY_ATTRIBUTES sa;
|
||||
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
|
||||
sa.lpSecurityDescriptor = &sd;
|
||||
sa.bInheritHandle = FALSE;
|
||||
|
||||
return CreateMutex(&sa, FALSE, "Global\\CorsairLinkReadWriteGuardMutex");
|
||||
}
|
||||
|
||||
#endif
|
||||
/*---------------------------------------------------------*\
|
||||
| CorsairDeviceGuard.cpp |
|
||||
| |
|
||||
| DeviceGuard for Corsair devices |
|
||||
| |
|
||||
| Evan Mulawski 04 Sep 2023 |
|
||||
| |
|
||||
| This file is part of the OpenRGB project |
|
||||
| SPDX-License-Identifier: GPL-2.0-or-later |
|
||||
\*---------------------------------------------------------*/
|
||||
|
||||
#include "CorsairDeviceGuard.h"
|
||||
|
||||
CorsairDeviceGuard::CorsairDeviceGuard() : DeviceGuard()
|
||||
{
|
||||
#ifdef _WIN32
|
||||
mutex_handle = CreateWindowsMutex();
|
||||
#endif
|
||||
}
|
||||
|
||||
void CorsairDeviceGuard::Acquire()
|
||||
{
|
||||
#ifdef _WIN32
|
||||
while(true)
|
||||
{
|
||||
DWORD result = WaitForSingleObject(mutex_handle, INFINITE);
|
||||
|
||||
if(result == WAIT_OBJECT_0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if(result == WAIT_ABANDONED)
|
||||
{
|
||||
ReleaseMutex(mutex_handle);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void CorsairDeviceGuard::Release()
|
||||
{
|
||||
#ifdef _WIN32
|
||||
ReleaseMutex(mutex_handle);
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
HANDLE CorsairDeviceGuard::CreateWindowsMutex()
|
||||
{
|
||||
SECURITY_DESCRIPTOR sd;
|
||||
InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION);
|
||||
SetSecurityDescriptorDacl(&sd, TRUE, NULL, FALSE);
|
||||
|
||||
SECURITY_ATTRIBUTES sa;
|
||||
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
|
||||
sa.lpSecurityDescriptor = &sd;
|
||||
sa.bInheritHandle = FALSE;
|
||||
|
||||
return CreateMutex(&sa, FALSE, "Global\\CorsairLinkReadWriteGuardMutex");
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -1,38 +1,38 @@
|
||||
/*---------------------------------------------------------*\
|
||||
| CorsairDeviceGuard.cpp |
|
||||
| |
|
||||
| DeviceGuard for Corsair devices |
|
||||
| |
|
||||
| Evan Mulawski 04 Sep 2023 |
|
||||
| |
|
||||
| This file is part of the OpenRGB project |
|
||||
| SPDX-License-Identifier: GPL-2.0-or-later |
|
||||
\*---------------------------------------------------------*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "DeviceGuard.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
/*---------------------------------------------------------*\
|
||||
| Windows interferes with std::max unless NOMINMAX defined |
|
||||
\*---------------------------------------------------------*/
|
||||
#define NOMINMAX
|
||||
#include <Windows.h>
|
||||
#endif
|
||||
|
||||
class CorsairDeviceGuard : public DeviceGuard
|
||||
{
|
||||
public:
|
||||
CorsairDeviceGuard();
|
||||
|
||||
void Acquire() override;
|
||||
void Release() override;
|
||||
|
||||
private:
|
||||
#ifdef _WIN32
|
||||
HANDLE mutex_handle;
|
||||
|
||||
HANDLE CreateWindowsMutex();
|
||||
#endif
|
||||
};
|
||||
/*---------------------------------------------------------*\
|
||||
| CorsairDeviceGuard.cpp |
|
||||
| |
|
||||
| DeviceGuard for Corsair devices |
|
||||
| |
|
||||
| Evan Mulawski 04 Sep 2023 |
|
||||
| |
|
||||
| This file is part of the OpenRGB project |
|
||||
| SPDX-License-Identifier: GPL-2.0-or-later |
|
||||
\*---------------------------------------------------------*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "DeviceGuard.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
/*---------------------------------------------------------*\
|
||||
| Windows interferes with std::max unless NOMINMAX defined |
|
||||
\*---------------------------------------------------------*/
|
||||
#define NOMINMAX
|
||||
#include <Windows.h>
|
||||
#endif
|
||||
|
||||
class CorsairDeviceGuard : public DeviceGuard
|
||||
{
|
||||
public:
|
||||
CorsairDeviceGuard();
|
||||
|
||||
void Acquire() override;
|
||||
void Release() override;
|
||||
|
||||
private:
|
||||
#ifdef _WIN32
|
||||
HANDLE mutex_handle;
|
||||
|
||||
HANDLE CreateWindowsMutex();
|
||||
#endif
|
||||
};
|
||||
Reference in new issue
Block a user