chore: Use nullptr instead of NULL in Windows watchdog
This commit is contained in:
parent
f7ab6aba58
commit
0891afdd63
1 changed files with 10 additions and 10 deletions
|
|
@ -53,12 +53,12 @@ typedef VOID(WINAPI *SendSas)(BOOL asUser);
|
||||||
const char g_activeDesktop[] = {"activeDesktop:"};
|
const char g_activeDesktop[] = {"activeDesktop:"};
|
||||||
|
|
||||||
MSWindowsWatchdog::MSWindowsWatchdog(bool foreground)
|
MSWindowsWatchdog::MSWindowsWatchdog(bool foreground)
|
||||||
: m_thread(NULL),
|
: m_thread(nullptr),
|
||||||
m_outputWritePipe(nullptr),
|
m_outputWritePipe(nullptr),
|
||||||
m_outputReadPipe(nullptr),
|
m_outputReadPipe(nullptr),
|
||||||
m_elevateProcess(false),
|
m_elevateProcess(false),
|
||||||
m_startFailures(0),
|
m_startFailures(0),
|
||||||
m_fileLogOutputter(NULL),
|
m_fileLogOutputter(nullptr),
|
||||||
m_foreground(foreground)
|
m_foreground(foreground)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
@ -122,7 +122,7 @@ MSWindowsWatchdog::getUserToken(LPSECURITY_ATTRIBUTES security, bool elevatedTok
|
||||||
// elevate for the uac dialog (consent.exe) but this would be pointless,
|
// elevate for the uac dialog (consent.exe) but this would be pointless,
|
||||||
// since deskflow would re-launch as non-elevated after the desk switch,
|
// since deskflow would re-launch as non-elevated after the desk switch,
|
||||||
// and so would be unusable with the new elevated process taking focus.
|
// and so would be unusable with the new elevated process taking focus.
|
||||||
if (elevatedToken || m_session.isProcessInSession("logonui.exe", NULL)) {
|
if (elevatedToken || m_session.isProcessInSession("logonui.exe", nullptr)) {
|
||||||
|
|
||||||
LOG((CLOG_DEBUG "getting elevated token, %s", (elevatedToken ? "elevation required" : "at login screen")));
|
LOG((CLOG_DEBUG "getting elevated token, %s", (elevatedToken ? "elevation required" : "at login screen")));
|
||||||
|
|
||||||
|
|
@ -152,7 +152,7 @@ void MSWindowsWatchdog::mainLoop(void *)
|
||||||
|
|
||||||
// the SendSAS function is used to send a sas (secure attention sequence) to the
|
// the SendSAS function is used to send a sas (secure attention sequence) to the
|
||||||
// winlogon process. this is used to switch to the login screen.
|
// winlogon process. this is used to switch to the login screen.
|
||||||
SendSas sendSasFunc = NULL;
|
SendSas sendSasFunc = nullptr;
|
||||||
HINSTANCE sasLib = LoadLibrary("sas.dll");
|
HINSTANCE sasLib = LoadLibrary("sas.dll");
|
||||||
if (sasLib) {
|
if (sasLib) {
|
||||||
LOG_DEBUG("loaded sas.dll, used to simulate ctrl-alt-del");
|
LOG_DEBUG("loaded sas.dll, used to simulate ctrl-alt-del");
|
||||||
|
|
@ -166,7 +166,7 @@ void MSWindowsWatchdog::mainLoop(void *)
|
||||||
SECURITY_ATTRIBUTES saAttr;
|
SECURITY_ATTRIBUTES saAttr;
|
||||||
saAttr.nLength = sizeof(SECURITY_ATTRIBUTES);
|
saAttr.nLength = sizeof(SECURITY_ATTRIBUTES);
|
||||||
saAttr.bInheritHandle = TRUE;
|
saAttr.bInheritHandle = TRUE;
|
||||||
saAttr.lpSecurityDescriptor = NULL;
|
saAttr.lpSecurityDescriptor = nullptr;
|
||||||
|
|
||||||
if (!CreatePipe(&m_outputReadPipe, &m_outputWritePipe, &saAttr, 0)) {
|
if (!CreatePipe(&m_outputReadPipe, &m_outputWritePipe, &saAttr, 0)) {
|
||||||
LOG_ERR("could not create output pipe");
|
LOG_ERR("could not create output pipe");
|
||||||
|
|
@ -240,9 +240,9 @@ void MSWindowsWatchdog::mainLoop(void *)
|
||||||
|
|
||||||
// TODO: This seems like a hack, why would we need to send the SAS function every loop iteration?
|
// TODO: This seems like a hack, why would we need to send the SAS function every loop iteration?
|
||||||
// This slows down both the process relaunch speed and the watchdog thread loop shut down time.
|
// This slows down both the process relaunch speed and the watchdog thread loop shut down time.
|
||||||
if (sendSasFunc != NULL) {
|
if (sendSasFunc != nullptr) {
|
||||||
HANDLE sendSasEvent = CreateEvent(NULL, FALSE, FALSE, "Global\\SendSAS");
|
HANDLE sendSasEvent = CreateEvent(nullptr, FALSE, FALSE, "Global\\SendSAS");
|
||||||
if (sendSasEvent != NULL) {
|
if (sendSasEvent != nullptr) {
|
||||||
// use SendSAS event to wait for next session (timeout 1 second).
|
// use SendSAS event to wait for next session (timeout 1 second).
|
||||||
if (WaitForSingleObject(sendSasEvent, 1000) == WAIT_OBJECT_0) {
|
if (WaitForSingleObject(sendSasEvent, 1000) == WAIT_OBJECT_0) {
|
||||||
LOG_DEBUG("calling SendSAS from sas.dll");
|
LOG_DEBUG("calling SendSAS from sas.dll");
|
||||||
|
|
@ -374,7 +374,7 @@ void MSWindowsWatchdog::outputLoop(void *)
|
||||||
while (m_running) {
|
while (m_running) {
|
||||||
|
|
||||||
DWORD bytesRead;
|
DWORD bytesRead;
|
||||||
BOOL success = ReadFile(m_outputReadPipe, buffer, kOutputBufferSize, &bytesRead, NULL);
|
BOOL success = ReadFile(m_outputReadPipe, buffer, kOutputBufferSize, &bytesRead, nullptr);
|
||||||
|
|
||||||
if (!success || bytesRead == 0) {
|
if (!success || bytesRead == 0) {
|
||||||
// Sleep for only 100ms rather than 1 second so that the service can shut down faster.
|
// Sleep for only 100ms rather than 1 second so that the service can shut down faster.
|
||||||
|
|
@ -396,7 +396,7 @@ void MSWindowsWatchdog::outputLoop(void *)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_fileLogOutputter != NULL) {
|
if (m_fileLogOutputter != nullptr) {
|
||||||
m_fileLogOutputter->write(kPRINT, output.c_str());
|
m_fileLogOutputter->write(kPRINT, output.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue