diff --git a/libdevcore/CMakeLists.txt b/libdevcore/CMakeLists.txt index 27f6d43c2..bcea5399d 100644 --- a/libdevcore/CMakeLists.txt +++ b/libdevcore/CMakeLists.txt @@ -1,5 +1,5 @@ -file(GLOB SOURCES "*.cpp") file(GLOB HEADERS "*.h") +file(GLOB SOURCES "*.cpp") find_package(Threads) diff --git a/libdevcore/Guards.cpp b/libdevcore/Guards.cpp deleted file mode 100644 index 69ae6c03a..000000000 --- a/libdevcore/Guards.cpp +++ /dev/null @@ -1,29 +0,0 @@ -/* - This file is part of cpp-ethereum. - - cpp-ethereum 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 3 of the License, or - (at your option) any later version. - - cpp-ethereum 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 cpp-ethereum. If not, see . -*/ -/** @file Guards.cpp - * @author Gav Wood - * @date 2014 - */ - -#include "Guards.h" -using namespace std; -using namespace dev; - -namespace dev -{ - -} diff --git a/libdevcore/Guards.h b/libdevcore/Guards.h index 2f1509b9a..a65695863 100644 --- a/libdevcore/Guards.h +++ b/libdevcore/Guards.h @@ -29,11 +29,8 @@ namespace dev { using Mutex = std::mutex; -using RecursiveMutex = std::recursive_mutex; - using Guard = std::lock_guard; using UniqueGuard = std::unique_lock; -using RecursiveGuard = std::lock_guard; template struct GenericGuardBool: GuardType diff --git a/libdevcore/Worker.cpp b/libdevcore/Worker.cpp index 6f667183d..bb567a4f3 100644 --- a/libdevcore/Worker.cpp +++ b/libdevcore/Worker.cpp @@ -92,9 +92,8 @@ void Worker::stopWorking() } } -void Worker::terminate() +Worker::~Worker() { -// cnote << "stopWorking for thread" << m_name; DEV_GUARDED(x_work) if (m_work) { diff --git a/libdevcore/Worker.h b/libdevcore/Worker.h index 4301639e4..386ba7f3c 100644 --- a/libdevcore/Worker.h +++ b/libdevcore/Worker.h @@ -30,13 +30,6 @@ namespace dev { -enum class IfRunning -{ - Fail, - Join, - Detach -}; - enum class WorkerState { Starting, @@ -51,30 +44,16 @@ class Worker protected: Worker(std::string const& _name = "anon", unsigned _idleWaitMs = 30): m_name(_name), m_idleWaitMs(_idleWaitMs) {} - /// Move-constructor. - Worker(Worker&& _m) { std::swap(m_name, _m.m_name); } - - /// Move-assignment. - Worker& operator=(Worker&& _m) - { - assert(&_m != this); - std::swap(m_name, _m.m_name); - return *this; - } + Worker(Worker const&) = delete; + Worker& operator=(Worker const&) = delete; - virtual ~Worker() { terminate(); } - - /// Allows changing worker name if work is stopped. - void setName(std::string _n) { if (!isWorking()) m_name = _n; } + virtual ~Worker(); /// Starts worker thread; causes startedWorking() to be called. void startWorking(); /// Stop worker thread; causes call to stopWorking(). void stopWorking(); - - /// Returns if worker thread is present. - bool isWorking() const { Guard l(x_work); return m_state == WorkerState::Started; } /// Called after thread is started from startWorking(). virtual void startedWorking() {} @@ -89,13 +68,7 @@ protected: /// Called when is to be stopped, just prior to thread being joined. virtual void doneWorking() {} - /// Blocks caller into worker thread has finished. -// void join() const { Guard l(x_work); try { if (m_work) m_work->join(); } catch (...) {} } - private: - /// Stop and never start again. - void terminate(); - std::string m_name; unsigned m_idleWaitMs = 0;