1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-07-27 17:28:41 +00:00

C++11 patchset 5: use std::threads and remove old compat layer (#5928)

* C++11 patchset 5: use std::threads and remove old compat layer

* use pragma once in modified headers
* use C++11 function delete for object copy
This commit is contained in:
Loïc Blot 2017-06-08 10:40:11 +02:00 committed by GitHub
parent 0a5c3c2852
commit 5bd33a1586
3 changed files with 12 additions and 195 deletions

View file

@ -23,8 +23,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
*/
#ifndef THREADING_THREAD_H
#define THREADING_THREAD_H
#pragma once
#include "util/basic_macros.h"
#include "threads.h"
@ -93,17 +92,8 @@ public:
inline bool isRunning() { return m_running; }
inline bool stopRequested() { return m_request_stop; }
#if USE_CPP11_THREADS
inline threadid_t getThreadId() { return m_thread_obj->get_id(); }
inline threadhandle_t getThreadHandle() { return m_thread_obj->native_handle(); }
#else
# if USE_WIN_THREADS
inline threadid_t getThreadId() { return m_thread_id; }
# else
inline threadid_t getThreadId() { return m_thread_handle; }
# endif
inline threadhandle_t getThreadHandle() { return m_thread_handle; }
#endif
/*
* Gets the thread return value.
@ -156,14 +146,7 @@ private:
std::mutex m_mutex;
std::mutex m_start_finished_mutex;
#if USE_CPP11_THREADS
std::thread *m_thread_obj;
#else
threadhandle_t m_thread_handle;
# if USE_WIN_THREADS
threadid_t m_thread_id;
# endif
#endif
static ThreadStartFunc threadProc;
@ -172,9 +155,6 @@ private:
// available to us, so we maintain one ourselves. This is set on thread start.
tid_t m_kernel_thread_id;
#endif
DISABLE_CLASS_COPY(Thread);
Thread(const Thread &) = delete;
};
#endif