From b3d75a642177f21f00d18f0e46bca4a9f363d08e Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Fri, 23 Aug 2019 13:35:28 -0700 Subject: [PATCH] Replace usleep with C++11 sleep_for usleep was deprecated with POSIX 2008 and optionally unavailable with uClibc-ng. --- src/thread_base.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/thread_base.cc b/src/thread_base.cc index 081791d4..275015ab 100644 --- a/src/thread_base.cc +++ b/src/thread_base.cc @@ -42,6 +42,8 @@ #include #include #include +#include +#include #include #include #include @@ -66,7 +68,7 @@ class lt_cacheline_aligned thread_queue_hack { thread_queue_hack() { std::memset(this, 0, sizeof(thread_queue_hack)); } - void lock() { while (!__sync_bool_compare_and_swap(&m_lock, 0, 1)) usleep(0); } + void lock() { while (!__sync_bool_compare_and_swap(&m_lock, 0, 1)) std::this_thread::sleep_for(std::chrono::microseconds(0)); } void unlock() { __sync_bool_compare_and_swap(&m_lock, 1, 0); } iterator begin() { return m_queue; }