Re: [Boost-bugs] [Boost C++ Libraries] #7540: Add a helper class that join a thread on destruction (was: Add a helper class that interrupts a thread and join it on destruction)

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7540: Add a helper class that join a thread on destruction (was: Add a helper class that interrupts a thread and join it on destruction)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-10-23 20:02:46


#7540: Add a helper class that join a thread on destruction
-------------------------------+--------------------------------------------
  Reporter: viboes | Owner: viboes
      Type: Feature Requests | Status: assigned
 Milestone: To Be Determined | Component: thread
   Version: Boost 1.52.0 | Severity: Cosmetic
Resolution: | Keywords:
-------------------------------+--------------------------------------------
Description changed by viboes:

Old description:

> Based on the thread_guard class defined in C++ Concurrency in Action
> define a helper class that interrupts and join a thread on destruction.
>

> {{{
>
> // Based on the Anthony's idea of thread_guard in CCiA
>
> namespace boost
> {
>
> class thread_guard
> {
> thread& t;
> public:
> BOOST_THREAD_NO_COPYABLE( thread_guard )
>
> explicit thread_guard(thread& t_) :
> t(t_)
> {
> }
> ~thread_guard()
> {
> #if defined BOOST_THREAD_PROVIDES_INTERRUPTIONS
> t.interrupt();
> #endif
> if (t.joinable())
> {
> t.join();
> }
> }
> };
>
> }
>
> }}}

New description:

 Based on the thread_guard class defined in C++ Concurrency in Action
 define a helper class that join a thread on destruction.


 {{{

 // Based on the Anthony's idea of thread_guard in CCiA

 namespace boost
 {

   class thread_guard
   {
     thread& t;
   public:
     BOOST_THREAD_NO_COPYABLE( thread_guard )

     explicit thread_guard(thread& t_) :
       t(t_)
     {
     }
     ~thread_guard()
     {
       if (t.joinable())
       {
         t.join();
       }
     }
   };

 }

 }}}

--
-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7540#comment:3>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:11 UTC