| 1221 | |
| 1222 | template <typename T> |
| 1223 | bool SyncVar<T>::write(T value) { |
| 1224 | _lock.lock(); |
| 1225 | if (_set) { |
| 1226 | _lock.unlock(); |
| 1227 | return false; |
| 1228 | } |
| 1229 | _set = true; |
| 1230 | _value = value; |
| 1231 | if (!_sem->_idle()) |
| 1232 | _sem->post(); |
| 1233 | _lock.unlock(); |
| 1234 | return true; |
| 1235 | } |
| 1236 | |
| 1237 | class Event { |
| 1238 | private: |