| 832 | ThreadSafeAsyncVar(V const& v) : value(v), nextChange(new ThreadSingleAssignmentVar<Void>()) {} |
| 833 | |
| 834 | State get() { |
| 835 | ThreadSpinLockHolder holder(lock); |
| 836 | nextChange->addref(); |
| 837 | return State(value, ThreadFuture<Void>(nextChange.getPtr())); |
| 838 | } |
| 839 | |
| 840 | void set(V const& v, bool triggerIfSame = false) { |
| 841 | Reference<ThreadSingleAssignmentVar<Void>> trigger(new ThreadSingleAssignmentVar<Void>()); |