Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r51776 - in sandbox/threadpool: boost/tp libs/tp/doc libs/tp/examples libs/tp/test
From: oliver.kowalke_at_[hidden]
Date: 2009-03-14 12:07:09


Author: olli
Date: 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
New Revision: 51776
URL: http://svn.boost.org/trac/boost/changeset/51776

Log:
* reintroduction of future-like interface into task
* task with default ctors

Text files modified:
   sandbox/threadpool/boost/tp/task.hpp | 65 ++++++++++++++++++++++++-----
   sandbox/threadpool/libs/tp/doc/task.qbk | 13 ++++-
   sandbox/threadpool/libs/tp/doc/task_ref.qbk | 88 +++++++++++++++++++++++++++++++++++++--
   sandbox/threadpool/libs/tp/examples/fork_join.cpp | 4
   sandbox/threadpool/libs/tp/examples/interrupt.cpp | 2
   sandbox/threadpool/libs/tp/examples/pending.cpp | 2
   sandbox/threadpool/libs/tp/examples/reschedule_until.cpp | 4
   sandbox/threadpool/libs/tp/examples/shutdonw_now.cpp | 2
   sandbox/threadpool/libs/tp/examples/spread_over_hardware.cpp | 4
   sandbox/threadpool/libs/tp/examples/submit.cpp | 2
   sandbox/threadpool/libs/tp/test/test_bounded_queue_fifo.cpp | 16 +++---
   sandbox/threadpool/libs/tp/test/test_bounded_queue_lifo.cpp | 16 +++---
   sandbox/threadpool/libs/tp/test/test_bounded_queue_priority.cpp | 16 +++---
   sandbox/threadpool/libs/tp/test/test_bounded_queue_smart.cpp | 16 +++---
   sandbox/threadpool/libs/tp/test/test_unbounded_queue_fifo.cpp | 16 +++---
   sandbox/threadpool/libs/tp/test/test_unbounded_queue_lifo.cpp | 16 +++---
   sandbox/threadpool/libs/tp/test/test_unbounded_queue_priority.cpp | 16 +++---
   sandbox/threadpool/libs/tp/test/test_unbounded_queue_smart.cpp | 16 +++---
   18 files changed, 218 insertions(+), 96 deletions(-)

Modified: sandbox/threadpool/boost/tp/task.hpp
==============================================================================
--- sandbox/threadpool/boost/tp/task.hpp (original)
+++ sandbox/threadpool/boost/tp/task.hpp 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -1,4 +1,4 @@
-// Copyright (c) 2008 Oliver Kowalke. Distributed under the Boost
+// Copright (c) 2008 Oliver Kowalke. Distributed under the Boost
 // Software License, Version 1.0. (See accompanying file
 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
@@ -16,8 +16,8 @@
 class task
 {
 private:
- shared_future< R > fut_;
- detail::interrupter intr_;
+ jss::shared_future< R > fut_;
+ detail::interrupter intr_;
 
 public:
         task()
@@ -25,7 +25,7 @@
         {}
 
         task(
- shared_future< R > const& fut,
+ jss::shared_future< R > const& fut,
                 detail::interrupter const& intr)
         :
         fut_( fut),
@@ -48,20 +48,43 @@
         bool interruption_requested()
         { return intr_.interruption_requested(); }
 
- shared_future< R > result()
- { return fut_; }
+ R get()
+ { return fut_.get(); }
+
+ bool is_ready() const
+ { return fut_.is_ready(); }
+
+ bool has_value() const
+ { return fut_.has_value(); }
+
+ bool has_exception() const
+ { return fut_.has_exception(); }
+
+ void wait() const
+ { fut_.wait(); }
+
+ template< typename Duration >
+ bool timed_wait( Duration const& rel_time) const
+ { return fut_.timed_wait( rel_time); }
+
+ bool timed_wait_until( system_time const& abs_time) const
+ { return fut_.timed_wait_until( abs_time); }
 };
 
 template<>
 class task< void >
 {
 private:
- shared_future< void > fut_;
- detail::interrupter intr_;
+ jss::shared_future< void > fut_;
+ detail::interrupter intr_;
 
 public:
+ task()
+ : fut_(), intr_()
+ {}
+
         task(
- shared_future< void > const& fut,
+ jss::shared_future< void > const& fut,
                 detail::interrupter const& intr)
         :
         fut_( fut),
@@ -84,10 +107,28 @@
         bool interruption_requested()
         { return intr_.interruption_requested(); }
 
- shared_future< void > result()
- { return fut_; }
-};
+ void get()
+ { fut_.get(); }
+
+ bool is_ready() const
+ { return fut_.is_ready(); }
+
+ bool has_value() const
+ { return fut_.has_value(); }
 
+ bool has_exception() const
+ { return fut_.has_exception(); }
+
+ void wait() const
+ { fut_.wait(); }
+
+ template< typename Duration >
+ bool timed_wait( Duration const& rel_time) const
+ { return fut_.timed_wait( rel_time); }
+
+ bool timed_wait_until( system_time const& abs_time) const
+ { return fut_.timed_wait_until( abs_time); }
+};
 } }
 
 #endif // BOOST_TP_TASK_H

Modified: sandbox/threadpool/libs/tp/doc/task.qbk
==============================================================================
--- sandbox/threadpool/libs/tp/doc/task.qbk (original)
+++ sandbox/threadpool/libs/tp/doc/task.qbk 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -21,7 +21,7 @@
       fibonacci_fn,
       10) ) );
 
- std::cout << t.result().get() << std::endl; // 55
+ std::cout << t.get() << std::endl; // 55
 
 
 [heading Interruption]
@@ -57,7 +57,7 @@
     t.interrupt();
 
     // throws boost::thread_interrupted exception
- std::cout << t.result().get() << std::endl;
+ std::cout << t.get() << std::endl;
 ``
 
     boost::tp::pool<
@@ -74,7 +74,11 @@
     t.interrupt_and_wait();
 
     // throws boost::thread_interrupted exception
- std::cout << t.result().get() << std::endl;
+ std::cout << t.get() << std::endl;
+
+[heading Waiting for multiple tasks]
+It is possible to wait for multiple tasks - `boost::tp::wait_for_all(tsk1,...,tskn)` blocks until all n tasks are ready and
+`boost::tp::wait_for_any(tsk1,...,tskn)` blocks until at least one of the tasks becomes ready.
 
 [heading Exceptions in tasks]
 Exceptions thrown inside an __action__ are transported by the associated task object.
@@ -97,6 +101,7 @@
 * `boost::broken_promise`
 * `boost::future_already_set`
 * `boost::future_cancel`
+* `boost::exception`
 * `boost::invalid_thread_argument`
 * `boost::lock_error`
 * `boost::thread_exception`
@@ -117,6 +122,6 @@
         boost::bind(
           throwing_fn) ) );
 
- std::cout << t.result().get() << std::endl; // will rethrow an std::runtime_error
+ std::cout << t.get() << std::endl; // will rethrow an std::runtime_error
 
 [endsect]

Modified: sandbox/threadpool/libs/tp/doc/task_ref.qbk
==============================================================================
--- sandbox/threadpool/libs/tp/doc/task_ref.qbk (original)
+++ sandbox/threadpool/libs/tp/doc/task_ref.qbk 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -16,7 +16,7 @@
       template< typename Pool >
       task(
         Pool * pool,
- shared_future< R > const& fut,
+ future< R > const& fut,
         detail::interrupter const& intr);
 
       void interrupt();
@@ -26,7 +26,16 @@
       void interrupt_and_wait( Duration const& rel_time);
       bool interrupt_requested();
 
- shared_future< R > result() const;
+ R get() const;
+
+ bool is_ready() const;
+ bool has_value() const;
+ bool has_exception() const;
+
+ void wait() const;
+ template< typename Duration >
+ bool timed_wait( Duration const& rel_time) const;
+ bool timed_wait_until( system_time const& abs_time) const;
     };
 
 [section:constructor Constructor]
@@ -34,7 +43,7 @@
     template< typename Pool >
     task(
       Pool * pool,
- shared_future< R > const& fut,
+ future< R > const& fut,
       detail::interrupter const& intr);
 
 [variablelist
@@ -72,15 +81,82 @@
 [endsect]
 
 
-[section:result Member function `result()`]
+[section:get Member function `get()`]
 
- shared_future< R > result() const;
+ R get() const;
 
 [variablelist
-[[Effects:] [Returns fulfilled value or throws fulfilled exception via a shared_future.]]
+[[Effects:] [Returns fulfilled value or throws fulfilled exception.]]
 [[Throws:] [`boost::future::broken_promise`]]
 ]
 [endsect]
 
 
+[section:is_read Member function `is_ready()`]
+
+ bool is_ready() const;
+
+[variablelist
+[[Effects:] [Queries if the __action__ has been fulfilled.]]
+[[Throws:] [Nothing]]
+]
+[endsect]
+
+
+[section:has_value Member function `has_value()`]
+
+ bool has_value() const;
+
+[variablelist
+[[Effects:] [Queries if the __action__ has been fulfilled (is ready) and has a value.]]
+[[Throws:] [Nothing]]
+]
+[endsect]
+
+
+[section:has_exception Member function `has_exception()`]
+
+ bool has_exception() const;
+
+[variablelist
+[[Effects:] [Queries if the __action__ has been fulfilled (is ready) and has an exception.]]
+[[Throws:] [Nothing]]
+]
+[endsect]
+
+
+[section:wait Member function `wait()`]
+
+ void wait() const;
+
+[variablelist
+[[Effects:] [Waits until the result is ready.]]
+[[Throws:] [Throws thread_interrupted if the result is not ready at the point of the call, and the current thread is interrupted.]]
+]
+[endsect]
+
+
+[section:timed_wait Member function `timed_wait()`]
+
+ template< typename Duration >
+ bool timed_wait( Duration const& wait_duration);
+
+[variablelist
+[[Effects:] [Waits until the result is ready, or returns false if the time specified by wait_duration has elapsed.]]
+[[Throws:] [Throws thread_interrupted if the result is not ready at the point of the call, and the current thread is interrupted.]]
+]
+[endsect]
+
+
+[section:timed_wait_until Member function `timed_wait_until()`]
+
+ bool timed_wait_until( system_time const& wait_timeout);
+
+[variablelist
+[[Effects:] [Waits until the result is ready, or returns false if the time point specified by wait_timeout has passed.]]
+[[Throws:] [Throws thread_interrupted if the result is not ready at the point of the call, and the current thread is interrupted.]]
+]
+[endsect]
+
+
 [endsect]

Modified: sandbox/threadpool/libs/tp/examples/fork_join.cpp
==============================================================================
--- sandbox/threadpool/libs/tp/examples/fork_join.cpp (original)
+++ sandbox/threadpool/libs/tp/examples/fork_join.cpp 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -44,7 +44,7 @@
                                                 & fibo::par_,
                                                 boost::ref( * this),
                                                 n - 2) ) );
- return t1.result().get() + t2.result().get();
+ return t1.get() + t2.get();
                 }
         }
 
@@ -85,7 +85,7 @@
                         std::vector< tp::task< int > >::iterator i( results.begin() );
                         i != e;
                         ++i)
- std::cout << "fibonacci " << k++ << " == " << i->result().get() << std::endl;
+ std::cout << "fibonacci " << k++ << " == " << i->get() << std::endl;
 
                 pt::ptime stop( pt::microsec_clock::universal_time() );
                 std::cout << ( stop - start).total_milliseconds() << " milli seconds" << std::endl;

Modified: sandbox/threadpool/libs/tp/examples/interrupt.cpp
==============================================================================
--- sandbox/threadpool/libs/tp/examples/interrupt.cpp (original)
+++ sandbox/threadpool/libs/tp/examples/interrupt.cpp 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -54,7 +54,7 @@
                                         fibonacci_fn,
                                         10) ) );
                 t.interrupt();
- std::cout << t.result().get() << std::endl;
+ std::cout << t.get() << std::endl;
 
                 return EXIT_SUCCESS;
         }

Modified: sandbox/threadpool/libs/tp/examples/pending.cpp
==============================================================================
--- sandbox/threadpool/libs/tp/examples/pending.cpp (original)
+++ sandbox/threadpool/libs/tp/examples/pending.cpp 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -52,7 +52,7 @@
                                         fibonacci_fn,
                                         10) ) );
                 std::cout << "pending tasks == " << pool.pending() << std::endl;
- std::cout << t.result().get() << std::endl;
+ std::cout << t.get() << std::endl;
 
                 return EXIT_SUCCESS;
         }

Modified: sandbox/threadpool/libs/tp/examples/reschedule_until.cpp
==============================================================================
--- sandbox/threadpool/libs/tp/examples/reschedule_until.cpp (original)
+++ sandbox/threadpool/libs/tp/examples/reschedule_until.cpp 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -70,7 +70,7 @@
                                 boost::this_task::get_thread_pool< pool_type >().submit(
                                         fn2) );
 
- return t1.result().get() + t2.result().get();
+ return t1.get() + t2.get();
                 }
         }
 
@@ -120,7 +120,7 @@
                         std::vector< tp::task< int > >::iterator i( results.begin() );
                         i != e;
                         ++i)
- std::cout << "fibonacci " << k++ << " == " << i->result().get() << std::endl;
+ std::cout << "fibonacci " << k++ << " == " << i->get() << std::endl;
 
                 pt::ptime stop( pt::microsec_clock::universal_time() );
                 std::cout << ( stop - start).total_milliseconds() << " milli seconds" << std::endl;

Modified: sandbox/threadpool/libs/tp/examples/shutdonw_now.cpp
==============================================================================
--- sandbox/threadpool/libs/tp/examples/shutdonw_now.cpp (original)
+++ sandbox/threadpool/libs/tp/examples/shutdonw_now.cpp 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -47,7 +47,7 @@
                                         10) ) );
                 boost::this_thread::sleep( pt::milliseconds( 250) );
                 pool.shutdown_now();
- std::cout << t.result().get() << std::endl;
+ std::cout << t.get() << std::endl;
 
                 return EXIT_SUCCESS;
         }

Modified: sandbox/threadpool/libs/tp/examples/spread_over_hardware.cpp
==============================================================================
--- sandbox/threadpool/libs/tp/examples/spread_over_hardware.cpp (original)
+++ sandbox/threadpool/libs/tp/examples/spread_over_hardware.cpp 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -44,7 +44,7 @@
                                                 & fibo::par_,
                                                 boost::ref( * this),
                                                 n - 2) ) );
- return t1.result().get() + t2.result().get();
+ return t1.get() + t2.get();
                 }
         }
 
@@ -86,7 +86,7 @@
                         std::vector< tp::task< int > >::iterator i( results.begin() );
                         i != e;
                         ++i)
- std::cout << "fibonacci " << k++ << " == " << i->result().get() << std::endl;
+ std::cout << "fibonacci " << k++ << " == " << i->get() << std::endl;
 
                 pt::ptime stop( pt::microsec_clock::universal_time() );
                 std::cout << ( stop - start).total_milliseconds() << " milli seconds" << std::endl;

Modified: sandbox/threadpool/libs/tp/examples/submit.cpp
==============================================================================
--- sandbox/threadpool/libs/tp/examples/submit.cpp (original)
+++ sandbox/threadpool/libs/tp/examples/submit.cpp 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -40,7 +40,7 @@
                                 boost::bind(
                                         fibonacci_fn,
                                         10) ) );
- std::cout << t.result().get() << std::endl;
+ std::cout << t.get() << std::endl;
 
                 return EXIT_SUCCESS;
         }

Modified: sandbox/threadpool/libs/tp/test/test_bounded_queue_fifo.cpp
==============================================================================
--- sandbox/threadpool/libs/tp/test/test_bounded_queue_fifo.cpp (original)
+++ sandbox/threadpool/libs/tp/test/test_bounded_queue_fifo.cpp 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -62,7 +62,7 @@
                                 boost::bind(
                                         fibonacci_fn,
                                         10) ) );
- BOOST_CHECK_EQUAL( t.result().get(), 55);
+ BOOST_CHECK_EQUAL( t.get(), 55);
         }
 
         // check shutdown
@@ -81,7 +81,7 @@
                                         10) ) );
                 pool.shutdown();
                 BOOST_CHECK( pool.terminated() );
- BOOST_CHECK_EQUAL( t.result().get(), 55);
+ BOOST_CHECK_EQUAL( t.get(), 55);
         }
 
         // check runtime_error throw inside task
@@ -100,7 +100,7 @@
                 pool.shutdown();
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( std::runtime_error const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);
@@ -158,7 +158,7 @@
                 BOOST_CHECK_EQUAL( pool.active(), std::size_t( 0) );
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( boost::thread_interrupted const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);
@@ -194,9 +194,9 @@
                 boost::this_thread::sleep( pt::millisec(250) );
                 BOOST_CHECK_EQUAL( pool.pending(), std::size_t( 2) );
                 b.wait();
- BOOST_CHECK_EQUAL( t1.result().get(), 55);
- BOOST_CHECK_EQUAL( t2.result().get(), 55);
- BOOST_CHECK_EQUAL( t3.result().get(), 55);
+ BOOST_CHECK_EQUAL( t1.get(), 55);
+ BOOST_CHECK_EQUAL( t2.get(), 55);
+ BOOST_CHECK_EQUAL( t3.get(), 55);
                 BOOST_CHECK_EQUAL( pool.pending(), std::size_t( 0) );
         }
 
@@ -277,7 +277,7 @@
                 BOOST_CHECK_EQUAL( buffer.size(), std::size_t( 1) );
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( boost::thread_interrupted const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);

Modified: sandbox/threadpool/libs/tp/test/test_bounded_queue_lifo.cpp
==============================================================================
--- sandbox/threadpool/libs/tp/test/test_bounded_queue_lifo.cpp (original)
+++ sandbox/threadpool/libs/tp/test/test_bounded_queue_lifo.cpp 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -62,7 +62,7 @@
                                 boost::bind(
                                         fibonacci_fn,
                                         10) ) );
- BOOST_CHECK_EQUAL( t.result().get(), 55);
+ BOOST_CHECK_EQUAL( t.get(), 55);
         }
 
         // check shutdown
@@ -81,7 +81,7 @@
                                         10) ) );
                 pool.shutdown();
                 BOOST_CHECK( pool.terminated() );
- BOOST_CHECK_EQUAL( t.result().get(), 55);
+ BOOST_CHECK_EQUAL( t.get(), 55);
         }
 
         // check runtime_error throw inside task
@@ -100,7 +100,7 @@
                 pool.shutdown();
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( std::runtime_error const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);
@@ -158,7 +158,7 @@
                 BOOST_CHECK_EQUAL( pool.active(), std::size_t( 0) );
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( boost::thread_interrupted const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);
@@ -194,9 +194,9 @@
                 boost::this_thread::sleep( pt::millisec(250) );
                 BOOST_CHECK_EQUAL( pool.pending(), std::size_t( 2) );
                 b.wait();
- BOOST_CHECK_EQUAL( t1.result().get(), 55);
- BOOST_CHECK_EQUAL( t2.result().get(), 55);
- BOOST_CHECK_EQUAL( t3.result().get(), 55);
+ BOOST_CHECK_EQUAL( t1.get(), 55);
+ BOOST_CHECK_EQUAL( t2.get(), 55);
+ BOOST_CHECK_EQUAL( t3.get(), 55);
                 BOOST_CHECK_EQUAL( pool.pending(), std::size_t( 0) );
         }
 
@@ -277,7 +277,7 @@
                 BOOST_CHECK_EQUAL( buffer.size(), std::size_t( 1) );
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( boost::thread_interrupted const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);

Modified: sandbox/threadpool/libs/tp/test/test_bounded_queue_priority.cpp
==============================================================================
--- sandbox/threadpool/libs/tp/test/test_bounded_queue_priority.cpp (original)
+++ sandbox/threadpool/libs/tp/test/test_bounded_queue_priority.cpp 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -63,7 +63,7 @@
                                         fibonacci_fn,
                                         10),
                         0) );
- BOOST_CHECK_EQUAL( t.result().get(), 55);
+ BOOST_CHECK_EQUAL( t.get(), 55);
         }
 
         // check shutdown
@@ -83,7 +83,7 @@
                                 0) );
                 pool.shutdown();
                 BOOST_CHECK( pool.terminated() );
- BOOST_CHECK_EQUAL( t.result().get(), 55);
+ BOOST_CHECK_EQUAL( t.get(), 55);
         }
 
         // check runtime_error throw inside task
@@ -103,7 +103,7 @@
                 pool.shutdown();
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( std::runtime_error const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);
@@ -165,7 +165,7 @@
                 BOOST_CHECK_EQUAL( pool.active(), std::size_t( 0) );
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( boost::thread_interrupted const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);
@@ -202,9 +202,9 @@
                 boost::this_thread::sleep( pt::millisec(250) );
                 BOOST_CHECK_EQUAL( pool.pending(), std::size_t( 2) );
                 b.wait();
- BOOST_CHECK_EQUAL( t1.result().get(), 55);
- BOOST_CHECK_EQUAL( t2.result().get(), 55);
- BOOST_CHECK_EQUAL( t3.result().get(), 55);
+ BOOST_CHECK_EQUAL( t1.get(), 55);
+ BOOST_CHECK_EQUAL( t2.get(), 55);
+ BOOST_CHECK_EQUAL( t3.get(), 55);
                 BOOST_CHECK_EQUAL( pool.pending(), std::size_t( 0) );
         }
 
@@ -291,7 +291,7 @@
                 BOOST_CHECK_EQUAL( buffer.size(), std::size_t( 1) );
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( boost::thread_interrupted const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);

Modified: sandbox/threadpool/libs/tp/test/test_bounded_queue_smart.cpp
==============================================================================
--- sandbox/threadpool/libs/tp/test/test_bounded_queue_smart.cpp (original)
+++ sandbox/threadpool/libs/tp/test/test_bounded_queue_smart.cpp 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -63,7 +63,7 @@
                                         fibonacci_fn,
                                         10),
                         0) );
- BOOST_CHECK_EQUAL( t.result().get(), 55);
+ BOOST_CHECK_EQUAL( t.get(), 55);
         }
 
         // check shutdown
@@ -83,7 +83,7 @@
                                 0) );
                 pool.shutdown();
                 BOOST_CHECK( pool.terminated() );
- BOOST_CHECK_EQUAL( t.result().get(), 55);
+ BOOST_CHECK_EQUAL( t.get(), 55);
         }
 
         // check runtime_error throw inside task
@@ -103,7 +103,7 @@
                 pool.shutdown();
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( std::runtime_error const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);
@@ -165,7 +165,7 @@
                 BOOST_CHECK_EQUAL( pool.active(), std::size_t( 0) );
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( boost::thread_interrupted const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);
@@ -202,9 +202,9 @@
                 boost::this_thread::sleep( pt::millisec(250) );
                 BOOST_CHECK_EQUAL( pool.pending(), std::size_t( 2) );
                 b.wait();
- BOOST_CHECK_EQUAL( t1.result().get(), 55);
- BOOST_CHECK_EQUAL( t2.result().get(), 55);
- BOOST_CHECK_EQUAL( t3.result().get(), 55);
+ BOOST_CHECK_EQUAL( t1.get(), 55);
+ BOOST_CHECK_EQUAL( t2.get(), 55);
+ BOOST_CHECK_EQUAL( t3.get(), 55);
                 BOOST_CHECK_EQUAL( pool.pending(), std::size_t( 0) );
         }
 
@@ -297,7 +297,7 @@
                 BOOST_CHECK_EQUAL( buffer.size(), std::size_t( 1) );
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( boost::thread_interrupted const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);

Modified: sandbox/threadpool/libs/tp/test/test_unbounded_queue_fifo.cpp
==============================================================================
--- sandbox/threadpool/libs/tp/test/test_unbounded_queue_fifo.cpp (original)
+++ sandbox/threadpool/libs/tp/test/test_unbounded_queue_fifo.cpp 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -55,7 +55,7 @@
                                 boost::bind(
                                         fibonacci_fn,
                                         10) ) );
- BOOST_CHECK_EQUAL( t.result().get(), 55);
+ BOOST_CHECK_EQUAL( t.get(), 55);
         }
 
         // check shutdown
@@ -71,7 +71,7 @@
                                         10) ) );
                 pool.shutdown();
                 BOOST_CHECK( pool.terminated() );
- BOOST_CHECK_EQUAL( t.result().get(), 55);
+ BOOST_CHECK_EQUAL( t.get(), 55);
         }
 
         // check runtime_error throw inside task
@@ -87,7 +87,7 @@
                 pool.shutdown();
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( std::runtime_error const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);
@@ -139,7 +139,7 @@
                 BOOST_CHECK_EQUAL( pool.active(), std::size_t( 0) );
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( boost::thread_interrupted const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);
@@ -172,9 +172,9 @@
                 boost::this_thread::sleep( pt::millisec(250) );
                 BOOST_CHECK_EQUAL( pool.pending(), std::size_t( 2) );
                 b.wait();
- BOOST_CHECK_EQUAL( t1.result().get(), 55);
- BOOST_CHECK_EQUAL( t2.result().get(), 55);
- BOOST_CHECK_EQUAL( t3.result().get(), 55);
+ BOOST_CHECK_EQUAL( t1.get(), 55);
+ BOOST_CHECK_EQUAL( t2.get(), 55);
+ BOOST_CHECK_EQUAL( t3.get(), 55);
                 BOOST_CHECK_EQUAL( pool.pending(), std::size_t( 0) );
         }
 
@@ -249,7 +249,7 @@
                 BOOST_CHECK_EQUAL( buffer.size(), std::size_t( 1) );
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( boost::thread_interrupted const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);

Modified: sandbox/threadpool/libs/tp/test/test_unbounded_queue_lifo.cpp
==============================================================================
--- sandbox/threadpool/libs/tp/test/test_unbounded_queue_lifo.cpp (original)
+++ sandbox/threadpool/libs/tp/test/test_unbounded_queue_lifo.cpp 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -55,7 +55,7 @@
                                 boost::bind(
                                         fibonacci_fn,
                                         10) ) );
- BOOST_CHECK_EQUAL( t.result().get(), 55);
+ BOOST_CHECK_EQUAL( t.get(), 55);
         }
 
         // check shutdown
@@ -71,7 +71,7 @@
                                         10) ) );
                 pool.shutdown();
                 BOOST_CHECK( pool.terminated() );
- BOOST_CHECK_EQUAL( t.result().get(), 55);
+ BOOST_CHECK_EQUAL( t.get(), 55);
         }
 
         // check runtime_error throw inside task
@@ -87,7 +87,7 @@
                 pool.shutdown();
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( std::runtime_error const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);
@@ -139,7 +139,7 @@
                 BOOST_CHECK_EQUAL( pool.active(), std::size_t( 0) );
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( boost::thread_interrupted const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);
@@ -172,9 +172,9 @@
                 boost::this_thread::sleep( pt::millisec(250) );
                 BOOST_CHECK_EQUAL( pool.pending(), std::size_t( 2) );
                 b.wait();
- BOOST_CHECK_EQUAL( t1.result().get(), 55);
- BOOST_CHECK_EQUAL( t2.result().get(), 55);
- BOOST_CHECK_EQUAL( t3.result().get(), 55);
+ BOOST_CHECK_EQUAL( t1.get(), 55);
+ BOOST_CHECK_EQUAL( t2.get(), 55);
+ BOOST_CHECK_EQUAL( t3.get(), 55);
                 BOOST_CHECK_EQUAL( pool.pending(), std::size_t( 0) );
         }
 
@@ -249,7 +249,7 @@
                 BOOST_CHECK_EQUAL( buffer.size(), std::size_t( 1) );
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( boost::thread_interrupted const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);

Modified: sandbox/threadpool/libs/tp/test/test_unbounded_queue_priority.cpp
==============================================================================
--- sandbox/threadpool/libs/tp/test/test_unbounded_queue_priority.cpp (original)
+++ sandbox/threadpool/libs/tp/test/test_unbounded_queue_priority.cpp 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -56,7 +56,7 @@
                                         fibonacci_fn,
                                         10),
                         0) );
- BOOST_CHECK_EQUAL( t.result().get(), 55);
+ BOOST_CHECK_EQUAL( t.get(), 55);
         }
 
         // check shutdown
@@ -73,7 +73,7 @@
                                 0) );
                 pool.shutdown();
                 BOOST_CHECK( pool.terminated() );
- BOOST_CHECK_EQUAL( t.result().get(), 55);
+ BOOST_CHECK_EQUAL( t.get(), 55);
         }
 
         // check runtime_error throw inside task
@@ -90,7 +90,7 @@
                 pool.shutdown();
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( std::runtime_error const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);
@@ -146,7 +146,7 @@
                 BOOST_CHECK_EQUAL( pool.active(), std::size_t( 0) );
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( boost::thread_interrupted const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);
@@ -180,9 +180,9 @@
                 boost::this_thread::sleep( pt::millisec(250) );
                 BOOST_CHECK_EQUAL( pool.pending(), std::size_t( 2) );
                 b.wait();
- BOOST_CHECK_EQUAL( t1.result().get(), 55);
- BOOST_CHECK_EQUAL( t2.result().get(), 55);
- BOOST_CHECK_EQUAL( t3.result().get(), 55);
+ BOOST_CHECK_EQUAL( t1.get(), 55);
+ BOOST_CHECK_EQUAL( t2.get(), 55);
+ BOOST_CHECK_EQUAL( t3.get(), 55);
                 BOOST_CHECK_EQUAL( pool.pending(), std::size_t( 0) );
         }
 
@@ -263,7 +263,7 @@
                 BOOST_CHECK_EQUAL( buffer.size(), std::size_t( 1) );
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( boost::thread_interrupted const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);

Modified: sandbox/threadpool/libs/tp/test/test_unbounded_queue_smart.cpp
==============================================================================
--- sandbox/threadpool/libs/tp/test/test_unbounded_queue_smart.cpp (original)
+++ sandbox/threadpool/libs/tp/test/test_unbounded_queue_smart.cpp 2009-03-14 12:07:06 EDT (Sat, 14 Mar 2009)
@@ -56,7 +56,7 @@
                                         fibonacci_fn,
                                         10),
                         0) );
- BOOST_CHECK_EQUAL( t.result().get(), 55);
+ BOOST_CHECK_EQUAL( t.get(), 55);
         }
 
         // check shutdown
@@ -73,7 +73,7 @@
                                 0) );
                 pool.shutdown();
                 BOOST_CHECK( pool.terminated() );
- BOOST_CHECK_EQUAL( t.result().get(), 55);
+ BOOST_CHECK_EQUAL( t.get(), 55);
         }
 
         // check runtime_error throw inside task
@@ -90,7 +90,7 @@
                 pool.shutdown();
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( std::runtime_error const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);
@@ -146,7 +146,7 @@
                 BOOST_CHECK_EQUAL( pool.active(), std::size_t( 0) );
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( boost::thread_interrupted const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);
@@ -180,9 +180,9 @@
                 boost::this_thread::sleep( pt::millisec(250) );
                 BOOST_CHECK_EQUAL( pool.pending(), std::size_t( 2) );
                 b.wait();
- BOOST_CHECK_EQUAL( t1.result().get(), 55);
- BOOST_CHECK_EQUAL( t2.result().get(), 55);
- BOOST_CHECK_EQUAL( t3.result().get(), 55);
+ BOOST_CHECK_EQUAL( t1.get(), 55);
+ BOOST_CHECK_EQUAL( t2.get(), 55);
+ BOOST_CHECK_EQUAL( t3.get(), 55);
                 BOOST_CHECK_EQUAL( pool.pending(), std::size_t( 0) );
         }
 
@@ -269,7 +269,7 @@
                 BOOST_CHECK_EQUAL( buffer.size(), std::size_t( 1) );
                 bool thrown( false);
                 try
- { t.result().get(); }
+ { t.get(); }
                 catch ( boost::thread_interrupted const&)
                 { thrown = true; }
                 BOOST_CHECK( thrown);


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk