Re: [Boost-bugs] [Boost C++ Libraries] #7167: interprocess_condition doesn't implement move semantics

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7167: interprocess_condition doesn't implement move semantics
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-08-24 19:41:01


#7167: interprocess_condition doesn't implement move semantics
--------------------------------------------------+-------------------------
  Reporter: John DiMatteo <jdimatteo@…> | Owner: igaztanaga
      Type: Bugs | Status: closed
 Milestone: To Be Determined | Component: interprocess
   Version: Boost 1.51.0 | Severity: Problem
Resolution: invalid | Keywords:
--------------------------------------------------+-------------------------
Changes (by igaztanaga):

  * status: new => closed
  * resolution: => invalid

Comment:

 It's not possible to add move semantics to condition variables and
 mutexes, because the operating system but might store the address of the
 synchronization object internally. Because of this, pthread_xxx_t is not
 copyable and std::mutex and std::condition_variable are not copyable or
 movable.

 The only way to put objects with member conditions and mutexes in
 containers is to use node-based containers (list, map, set,
 stable_vector...) and use emplace(...) functions, which don't require move
 constructible elements.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7167#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:10 UTC