24 #ifndef LOG4CPLUS_THREADS_HEADER_
25 #define LOG4CPLUS_THREADS_HEADER_
29 #if defined (LOG4CPLUS_HAVE_PRAGMA_ONCE)
61 struct SignalsBlockerImpl;
62 std::unique_ptr<SignalsBlockerImpl> impl;
66 #ifndef LOG4CPLUS_SINGLE_THREADED
87 virtual void run() = 0;
100 std::unique_ptr<std::thread> thread;
101 mutable std::atomic<int> flags;
There are many cross-platform C++ Threading libraries.
virtual ~AbstractThread()
AbstractThread & operator=(const AbstractThread &)=delete
AbstractThread(const AbstractThread &)=delete
This class blocks all POSIX signals when created and unblocks them when destroyed.
helpers::SharedObjectPtr< AbstractThread > AbstractThreadPtr
LOG4CPLUS_EXPORT log4cplus::tstring const & getCurrentThreadName()
LOG4CPLUS_EXPORT log4cplus::tstring const & getCurrentThreadName2()
LOG4CPLUS_EXPORT void blockAllSignals()
LOG4CPLUS_EXPORT void yield()
LOG4CPLUS_EXPORT void setCurrentThreadName2(const log4cplus::tstring &name)
LOG4CPLUS_EXPORT void setCurrentThreadName(const log4cplus::tstring &name)
std::basic_string< tchar > tstring