aboutsummaryrefslogtreecommitdiff
path: root/contrib/epee/include/syncobj.h
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2016-02-22 19:34:09 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2016-02-22 19:34:09 +0000
commit5e3557d2c30f9f1a206d93441897793a993f3618 (patch)
treebf91ab81d379f9b4d6d8ad7db7feaa17fc63faf4 /contrib/epee/include/syncobj.h
parentMerge pull request #681 (diff)
downloadmonero-5e3557d2c30f9f1a206d93441897793a993f3618.tar.xz
move g_test_dbg_lock_sleep from a global to a function level static
This avoids the need to define that variable in every program which uses epee.
Diffstat (limited to '')
-rw-r--r--contrib/epee/include/syncobj.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/contrib/epee/include/syncobj.h b/contrib/epee/include/syncobj.h
index 275324436..0833b4114 100644
--- a/contrib/epee/include/syncobj.h
+++ b/contrib/epee/include/syncobj.h
@@ -39,7 +39,14 @@
namespace epee
{
- extern unsigned int g_test_dbg_lock_sleep;
+ namespace debug
+ {
+ inline unsigned int &g_test_dbg_lock_sleep()
+ {
+ static unsigned int value = 0;
+ return value;
+ }
+ }
struct simple_event
{
@@ -217,10 +224,10 @@ namespace epee
#define SHARED_CRITICAL_REGION_BEGIN(x) { shared_guard critical_region_var(x)
#define EXCLUSIVE_CRITICAL_REGION_BEGIN(x) { exclusive_guard critical_region_var(x)
-#define CRITICAL_REGION_LOCAL(x) {std::this_thread::sleep_for(std::chrono::milliseconds(epee::g_test_dbg_lock_sleep));} epee::critical_region_t<decltype(x)> critical_region_var(x)
-#define CRITICAL_REGION_BEGIN(x) { std::this_thread::sleep_for(std::chrono::milliseconds(epee::g_test_dbg_lock_sleep)); epee::critical_region_t<decltype(x)> critical_region_var(x)
-#define CRITICAL_REGION_LOCAL1(x) {std::this_thread::sleep_for(std::chrono::milliseconds(epee::g_test_dbg_lock_sleep));} epee::critical_region_t<decltype(x)> critical_region_var1(x)
-#define CRITICAL_REGION_BEGIN1(x) { std::this_thread::sleep_for(std::chrono::milliseconds(epee::g_test_dbg_lock_sleep)); epee::critical_region_t<decltype(x)> critical_region_var1(x)
+#define CRITICAL_REGION_LOCAL(x) {std::this_thread::sleep_for(std::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x)
+#define CRITICAL_REGION_BEGIN(x) { std::this_thread::sleep_for(std::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep())); epee::critical_region_t<decltype(x)> critical_region_var(x)
+#define CRITICAL_REGION_LOCAL1(x) {std::this_thread::sleep_for(std::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var1(x)
+#define CRITICAL_REGION_BEGIN1(x) { std::this_thread::sleep_for(std::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep())); epee::critical_region_t<decltype(x)> critical_region_var1(x)
#define CRITICAL_REGION_END() }