summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/testsuite/performance
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/testsuite/performance')
-rw-r--r--libstdc++-v3/testsuite/performance/30_threads/future/polling.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/libstdc++-v3/testsuite/performance/30_threads/future/polling.cc b/libstdc++-v3/testsuite/performance/30_threads/future/polling.cc
index 50d622c41a6..83fde27100f 100644
--- a/libstdc++-v3/testsuite/performance/30_threads/future/polling.cc
+++ b/libstdc++-v3/testsuite/performance/30_threads/future/polling.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -20,9 +20,14 @@
#include <thread>
#include <testsuite_performance.h>
+inline bool is_ready(std::shared_future<void>& f)
+{
+ return f.wait_for(std::chrono::microseconds(1));
+}
+
void poll(std::shared_future<void> f)
{
- while (!f.is_ready())
+ while (!is_ready(f))
{ }
}
@@ -46,7 +51,7 @@ int main()
start_counters(time, resource);
for (int i = 0; i < 1000000; ++i)
- (void)f.is_ready();
+ (void)is_ready(f);
p.set_value();
for (int i=0; i < n; ++i)
OpenPOWER on IntegriCloud