diff --git a/src/lib/arch/unix/ArchMultithreadPosix.h b/src/lib/arch/unix/ArchMultithreadPosix.h index bb4bbfb6c..893a6519b 100644 --- a/src/lib/arch/unix/ArchMultithreadPosix.h +++ b/src/lib/arch/unix/ArchMultithreadPosix.h @@ -95,7 +95,6 @@ private: static void threadCancel(int); static void *threadSignalHandler(void *vrep); -private: using ThreadList = std::list; static ArchMultithreadPosix *s_instance; diff --git a/src/lib/mt/Thread.cpp b/src/lib/mt/Thread.cpp index 411f5236c..926c5ac9a 100644 --- a/src/lib/mt/Thread.cpp +++ b/src/lib/mt/Thread.cpp @@ -55,7 +55,7 @@ Thread &Thread::operator=(const Thread &thread) return *this; } -void Thread::exit(void *result) +[[noreturn]] void Thread::exit(void *result) { throw XThreadExit(result); } diff --git a/src/lib/mt/Thread.h b/src/lib/mt/Thread.h index 3b667a8e4..9fec031ab 100644 --- a/src/lib/mt/Thread.h +++ b/src/lib/mt/Thread.h @@ -78,7 +78,7 @@ public: \endcode or add the \c RETHROW_XTHREAD macro to the \c catch(...) block. */ - static void exit(void *); + [[noreturn]] static void exit(void *); //! Cancel thread /*! diff --git a/src/lib/net/SocketMultiplexer.cpp b/src/lib/net/SocketMultiplexer.cpp index 76179e2cd..00e4d1974 100644 --- a/src/lib/net/SocketMultiplexer.cpp +++ b/src/lib/net/SocketMultiplexer.cpp @@ -119,7 +119,7 @@ void SocketMultiplexer::removeSocket(ISocket *socket) unlockJobList(); } -void SocketMultiplexer::serviceThread(void *) +[[noreturn]] void SocketMultiplexer::serviceThread(void *) { std::vector pfds; IArchNetwork::PollEntry pfd; diff --git a/src/lib/net/SocketMultiplexer.h b/src/lib/net/SocketMultiplexer.h index 8f62cca25..8daec8d2d 100644 --- a/src/lib/net/SocketMultiplexer.h +++ b/src/lib/net/SocketMultiplexer.h @@ -60,7 +60,7 @@ private: // and m_update while m_pollable and m_polling are true. all other // threads must only modify these when m_pollable and m_polling are // false. only the service thread sets m_polling. - void serviceThread(void *); + [[noreturn]] void serviceThread(void *); // create, iterate, and destroy a cursor. a cursor is used to // safely iterate through the job list while other threads modify