| 67 | /** T and U should be comparable types. */ |
| 68 | template<typename T, typename U> |
| 69 | void spin_wait_until_and( const volatile T& location, U value ) { |
| 70 | tbb::internal::atomic_backoff backoff; |
| 71 | while( !(location & value) ) backoff.pause(); |
| 72 | } |
| 73 | |
| 74 | |
| 75 | void reader_writer_lock::internal_construct() { |