| 118 | } |
| 119 | } |
| 120 | void invokePostHostFunc() { |
| 121 | std::function<void(void *)> FuncSnapshot; |
| 122 | void *DataSnapshot = nullptr; |
| 123 | { |
| 124 | std::shared_lock Lock(Mutex); |
| 125 | FuncSnapshot = PostHostFunc; |
| 126 | DataSnapshot = PostHostData; |
| 127 | } |
| 128 | if (FuncSnapshot.operator bool()) { |
| 129 | FuncSnapshot(DataSnapshot); |
| 130 | } |
| 131 | } |
| 132 | |
| 133 | private: |
| 134 | void *PreHostData = nullptr; |