From dbacb27146b73246dbfde937a3331d640aac7551 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Fri, 12 May 2023 10:52:47 -0400 Subject: [PATCH] merge branch changes to eliminate custom Mutex class for std::mutex; --- src/Mutex.cpp | 102 -------------------------------- src/Mutex.h | 67 --------------------- src/lookups/IdenTableLookup.h | 1 - src/lookups/LookupTable.h | 4 +- src/lookups/RadioIdLookup.h | 1 - src/lookups/TalkgroupIdLookup.h | 1 - 6 files changed, 2 insertions(+), 174 deletions(-) delete mode 100644 src/Mutex.cpp delete mode 100644 src/Mutex.h diff --git a/src/Mutex.cpp b/src/Mutex.cpp deleted file mode 100644 index 058b6ee9..00000000 --- a/src/Mutex.cpp +++ /dev/null @@ -1,102 +0,0 @@ -/** -* Digital Voice Modem - Host Software -* GPLv2 Open Source. Use is subject to license terms. -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* @package DVM / Host Software -* -*/ -// -// Based on code from the MMDVMHost project. (https://github.com/g4klx/MMDVMHost) -// Licensed under the GPLv2 License (https://opensource.org/licenses/GPL-2.0) -// -/* -* Copyright (C) 2015,2016 by Jonathan Naylor G4KLX -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation; either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ -#include "Mutex.h" - -// --------------------------------------------------------------------------- -// Public Class Members -// --------------------------------------------------------------------------- - -#if defined(_WIN32) || defined(_WIN64) -/// -/// Initializes a new instance of the Mutex class. -/// -Mutex::Mutex() : - m_handle() -{ - m_handle = ::CreateMutex(NULL, FALSE, NULL); -} - -/// -/// Finalizes a instance of the Mutex class. -/// -Mutex::~Mutex() -{ - ::CloseHandle(m_handle); -} - -/// -/// Locks the mutex. -/// -void Mutex::lock() -{ - ::WaitForSingleObject(m_handle, INFINITE); -} - -/// -/// Unlocks the mutex. -/// -void Mutex::unlock() -{ - ::ReleaseMutex(m_handle); -} -#else -/// -/// Initializes a new instance of the Mutex class. -/// -Mutex::Mutex() : - m_mutex(PTHREAD_MUTEX_INITIALIZER) -{ - /* stub */ -} - -/// -/// Finalizes a instance of the Mutex class. -/// -Mutex::~Mutex() -{ - /* stub */ -} - -/// -/// Locks the mutex. -/// -void Mutex::lock() -{ - ::pthread_mutex_lock(&m_mutex); -} - -/// -/// Unlocks the mutex. -/// -void Mutex::unlock() -{ - ::pthread_mutex_unlock(&m_mutex); -} -#endif diff --git a/src/Mutex.h b/src/Mutex.h deleted file mode 100644 index b57d33c4..00000000 --- a/src/Mutex.h +++ /dev/null @@ -1,67 +0,0 @@ -/** -* Digital Voice Modem - Host Software -* GPLv2 Open Source. Use is subject to license terms. -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* @package DVM / Host Software -* -*/ -// -// Based on code from the MMDVMHost project. (https://github.com/g4klx/MMDVMHost) -// Licensed under the GPLv2 License (https://opensource.org/licenses/GPL-2.0) -// -/* -* Copyright (C) 2015,2016 by Jonathan Naylor G4KLX -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation; either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ -#if !defined(__MUTEX_H__) -#define __MUTEX_H__ - -#include "Defines.h" - -#if defined(_WIN32) || defined(_WIN64) -#define WIN32_LEAN_AND_MEAN -#include -#else -#include -#endif - -// --------------------------------------------------------------------------- -// Class Declaration -// Implements a simple mutual exclusion locking mechanism. -// --------------------------------------------------------------------------- - -class HOST_SW_API Mutex { -public: - /// Initializes a new instance of the Mutex class. - Mutex(); - /// Finalizes a instance of the Mutex class. - ~Mutex(); - - /// Locks the mutex. - void lock(); - /// Unlocks the mutex. - void unlock(); - -private: -#if defined(_WIN32) || defined(_WIN64) - HANDLE m_handle; -#else - pthread_mutex_t m_mutex; -#endif -}; - -#endif // __MUTEX_H__ diff --git a/src/lookups/IdenTableLookup.h b/src/lookups/IdenTableLookup.h index 3013c6b2..f7bcad63 100644 --- a/src/lookups/IdenTableLookup.h +++ b/src/lookups/IdenTableLookup.h @@ -29,7 +29,6 @@ #include "Defines.h" #include "lookups/LookupTable.h" #include "Thread.h" -#include "Mutex.h" #include #include diff --git a/src/lookups/LookupTable.h b/src/lookups/LookupTable.h index cad2a162..e951f9a9 100644 --- a/src/lookups/LookupTable.h +++ b/src/lookups/LookupTable.h @@ -34,12 +34,12 @@ #include "Log.h" #include "Thread.h" #include "Timer.h" -#include "Mutex.h" #include #include #include #include +#include #include namespace lookups @@ -155,7 +155,7 @@ namespace lookups std::string m_filename; uint32_t m_reloadTime; std::unordered_map m_table; - Mutex m_mutex; + std::mutex m_mutex; bool m_stop; bool m_acl; diff --git a/src/lookups/RadioIdLookup.h b/src/lookups/RadioIdLookup.h index 152432ec..d909ff56 100644 --- a/src/lookups/RadioIdLookup.h +++ b/src/lookups/RadioIdLookup.h @@ -34,7 +34,6 @@ #include "Defines.h" #include "lookups/LookupTable.h" #include "Thread.h" -#include "Mutex.h" #include #include diff --git a/src/lookups/TalkgroupIdLookup.h b/src/lookups/TalkgroupIdLookup.h index ba1470d3..49d6c6db 100644 --- a/src/lookups/TalkgroupIdLookup.h +++ b/src/lookups/TalkgroupIdLookup.h @@ -34,7 +34,6 @@ #include "Defines.h" #include "lookups/LookupTable.h" #include "Thread.h" -#include "Mutex.h" #include #include