Ticket #2602: thread.patch
File thread.patch, 1.8 KB (added by , 13 years ago) |
---|
-
boost/thread/locks.hpp
214 214 unique_lock& operator=(unique_lock&); 215 215 unique_lock& operator=(upgrade_lock<Mutex>& other); 216 216 public: 217 #ifdef __SUNPRO_CC 218 unique_lock(const volatile unique_lock&); 219 #endif 217 220 unique_lock(): 218 221 m(0),is_locked(false) 219 222 {} … … 297 300 return detail::thread_move_t<unique_lock<Mutex> >(*this); 298 301 } 299 302 303 #ifdef __SUNPRO_CC 304 unique_lock& operator=(unique_lock<Mutex> other) 305 { 306 swap(other); 307 return *this; 308 } 309 #else 300 310 unique_lock& operator=(detail::thread_move_t<unique_lock<Mutex> > other) 301 311 { 302 312 unique_lock temp(other); 303 313 swap(temp); 304 314 return *this; 305 315 } 316 #endif 306 317 307 318 unique_lock& operator=(detail::thread_move_t<upgrade_lock<Mutex> > other) 308 319 { -
boost/thread/detail/thread.hpp
144 144 struct dummy; 145 145 #endif 146 146 public: 147 #ifdef __SUNPRO_CC 148 thread(const volatile thread&); 149 #endif 147 150 thread(); 148 151 ~thread(); 149 152 … … 202 205 x->thread_info.reset(); 203 206 } 204 207 208 #ifdef __SUNPRO_CC 209 thread& operator=(thread x) 210 { 211 swap(x); 212 return *this; 213 } 214 #else 205 215 thread& operator=(detail::thread_move_t<thread> x) 206 216 { 207 217 thread new_thread(x); 208 218 swap(new_thread); 209 219 return *this; 210 220 } 221 #endif 211 222 212 223 operator detail::thread_move_t<thread>() 213 224 {