From e88c7b29ea9ec9fcd6ac6b15c965085152100d2e Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 18 Jun 2017 18:19:17 +0200 Subject: get rid of "volatile" abuse We heavily used "volatile bool" to check if the thread loop should stop. But this functionality is already provided by Qt5's QThread::requestInterruption. In other cases, "volatile" is wonderfully underspecified so it's better to ditch its usage in favor of std::atomic. At the time we don't appear to be using the "volatile" keyword except when calling win32's Interlocked*() family of functions as necessary. In freetrackclient's header the "volatile" qualifier was used as part of a typedef. This doesn't work. Use it as part of data declaration. --- tracker-tobii-eyex/tobii-eyex.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tracker-tobii-eyex/tobii-eyex.hpp') diff --git a/tracker-tobii-eyex/tobii-eyex.hpp b/tracker-tobii-eyex/tobii-eyex.hpp index 23173f22..62b0d733 100644 --- a/tracker-tobii-eyex/tobii-eyex.hpp +++ b/tracker-tobii-eyex/tobii-eyex.hpp @@ -19,6 +19,7 @@ using namespace options; #include #include + #include #include @@ -77,7 +78,7 @@ private: } dev_state; double yaw, pitch; - volatile bool do_center; + std::atomic do_center; }; class tobii_eyex_metadata : public Metadata -- cgit v1.2.3